的IntelliJ构建错JAR:无法找到或加载主类
我有一个简单的例子的IntelliJ构建错JAR:无法找到或加载主类
这是在哪里的IntelliJ我想建立JAR文件中创建public class FileSystemReadFile {
public static void main(String[] args) throws IOException {
System.out.println("Reading the file" + args[0]);
}
}
;所以我做了什么:
- 添加与依赖关系(大概我有一些)的神器;
- 确保
MANIFEST.MF
位于src\main\resources\META-INF\
,因为它已在此处的某处提及。 - 运行神器打造这给了我JAR文件中进行文件夹和我运行的JAR文件说我“找不到或无法加载主类”
java <name>.jar
您可能会看到主类加入到清单并且清单的位置也很好。
当我打开创建JAR文件,我看到了同样的清单内容,我看到很多的独立模块,但我看不到我的课!
我怀疑这是一个原因。有任何想法吗?
不知道IntellJ是什么,但我重新构建了文物,并没有问题。
hadoop jar <Jar-name>
java -jar <Jar-name>
一切工作正常。
感谢张贴解决方案 – Stepan
我收到错误“没有主要清单属性,在jarname.jar” 我发现解决方案https://*.com/questions/20952713/wrong-manifest-mf-in-intellij-idea-created -罐 – mesutpiskin
如果您在应用程序中包含任何已签名的JAR,然后使用IntelliJ构建工件,它将提取JARS并将它们与您的编译输出捆绑在一起。
然后这会导致JAVA安全异常。我已经看到了与Eclipse Paho和Bouncy Castle签署的这个协议。
您可以使用jarsigner工具检查您正在使用的任何库JAR是否已签名。
jarsigner -verify -verbose <path to library JAR>
更改您的IntelliJ工件设置,以便它们被捆绑为库而不是被提取。如您所期望的那样,提取会使证书无效。
尝试创建一个只有主虚拟项目。一次添加1个库JAR(您正在尝试构建)。每次构建一个输出JAR直到Main中断。我就是这样找到的。
IntelliJ应该警告你.....
你的课是屏幕截图底部的第五个文件。 – yole