繁体   English   中英

Java从命令行运行jar:找不到或加载主类com.test.Main时出错

[英]Java run jar from command line: Error could not find or load main class com.test.Main

Windows控制台命令:

c:\..path..>java -jar TestApp.jar

结果: Error could not find or load main class 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

清单文件信息:

Main-Class: com.test.Main
Class-Path: client.jar;jogl/gluegen-rt.jar;jogl/jogl-all.jar;

但是当我在IntelliJ中运行代码时,它就成功了。

恐怕您不能这样做,因为默认的Classloader无法从jar-in-a-jar加载。 我想IntelliJ会扩展这些jar并使其工作。

看到这里: 罐子里的参考罐子

但是有一个解决方案。 我使用maven-assembly-plugin创建具有依赖项的autorun-jars。 如果我扩展此jar,我发现所有jar依赖项都在jar内扩展。 这样,Classloader可以加载所有类。

如果您不使用maven,则IntelliJ必须具有将项目导出为autorun-jar或类似名称的选项。

编辑

如果行不通或将您的项目导出为autorun-jar不合适,也许One-JAR会为您服务,但是我没有这个项目的经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM