Windows 控制台命令:
c:\..path..>java -jar TestApp.jar
结果:错误无法找到或加载主类 com.test.Main
我正在使用 IntelliJ 14,我的工件布局如下所示:
TestApp.jar/
--client.jar <----- com.test.Main is located here
--jogl/
----gluegen.jar
----jogl-all.jar
--META-INF/
----manifest.mf
list 文件信息:
Main-Class: com.test.Main
Class-Path: client.jar;jogl/gluegen-rt.jar;jogl/jogl-all.jar;
但是当我在 IntelliJ 中运行代码时,它是成功的。
最佳答案
恐怕你不能,因为默认的类加载器无法从 jar-with-a-jar 加载。我想 IntelliJ 会扩展这些 jar 并因此工作。
请参阅此处:Reference jars inside a jar
但是有一个解决方案。我使用 maven- assembly-plugin 来创建带有依赖项的 autorun-jar。如果我扩展这个 jar,我发现所有 jar 依赖项都在 jar 内扩展。这样,Classloader就可以加载所有的类了。
如果您不使用 maven,IntelliJ 必须有一个选项将项目导出为 autorun-jar 或类似的东西。
编辑
如果 maven 或将项目导出为 autorun-jar 不适合您,也许 One-JAR可以为你的海豚服务,但我没有这个项目的经验。
关于Java从命令行运行jar : Error could not find or load main class com. test.Main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33016058/