我以这种方式创建了一个JAR文件 jar cf jar-file input-files
. 现在,我正试图运行它 . 运行它不起作用(找不到jre命令):
jre -cp app.jar MainClass
这也不起作用:
java -jar main.jar
(无法从main.jar加载Main-Class清单属性) .
我也发现了这一点
运行打包为JAR文件的应用程序(版本1.2 - 需要Main-Class清单标头)
什么是“Main-Class清单 Headers ”?我该如何创建它以及在哪里放置它?
11 回答
我遇到了同样的问题 . 此unix命令无法找到主类 . 这是因为运行时和编译时JDK版本不同 . 更改java编译器版本后,通过eclipse创建jar . 以下链接帮助了我 .
http://crunchify.com/exception-in-thread-main-java-lang-unsupportedclassversionerror-comcrunchifymain-unsupported-major-minor-version-51-0/
尝试运行此步骤后创建的jar,然后执行它
如果在清单中完全指定了类路径,则可能需要java运行时环境的 last version . 当我重新安装jre 8时,我的问题得到解决 .
如果您使用eclipse,请尝试以下操作:1 . 右键单击项目 - >选择导出2.在选择导出目标中选择Runnable Jar文件3.输入jar的名称并选择“Package required ...”(第二个单选按钮) - >完成
希望这可以帮助...!
我不确定我是否相信你的症状:
如果找不到
jre
命令,则运行jre -cp app.jar
应该给出相同的错误只需将JAR文件添加到类路径中就不应该't give the error you'了
如果您运行,我希望您看到此错误:
Main-Class标头需要位于JAR文件的清单中 - 这是关于其他所需库的元数据 . 有关如何创建适当的清单,请参阅Sun documentation . 基本上你需要创建一个包含这样一行的文本文件:
然后跑
你可以运行:
如果JAR文件中没有清单,它对我有用 .
我收到了这个错误,这是因为我的参数输入顺序错误:
正确
错了
确保使用相应的清单文件正确创建可运行的JAR文件的最简单方法是使用Eclipse为您构建它 . 在Eclipse项目中,您基本上只需从菜单中选择File / Export,然后按照提示操作 .
这样,您可以确定您的JAR文件是正确的,并且如果仍有问题,将会知道在其他地方查找 . 该过程在FAQ How do I create an executable JAR file for a stand-alone SWT program?中有详细描述 .
我发现我在NetBeans中也遇到了这个错误 . 我希望以下内容对您有所帮助 .
确保在进入“项目配置”时设置要运行的主类 .
做一个构建或清理构建
将jar文件放在您希望的位置,然后在命令行再次尝试:java -jar "YourProject.jar" .
这是我遇到的问题,因为我在NetBeans中使用了其他“测试”程序,我必须确保Project配置的Run部分下的Main Class设置正确 .
许多祝福,John P.
我跑的时候遇到了同样的错误:
jar cvfm test.jar Test.class Manifest.txt
是什么解决了这个:
jar cvfm test.jar Manifest.txt Test.class
我的清单具有oracle docs中给出的入口点(确保文件末尾有一个新的行字符):
主类:测试
尝试
无需
manifest
文件 .