为什么无法从JAR文件加载主类清单属性?

我用这种方式创build了一个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清单头文件)

什么是“主要类清单标题”? 我如何创build它,我在哪里放?

我不确定我相信你的症状:

  • 如果没有findjre命令,那么运行jre -cp app.jar应该给出相同的错误
  • 只要将一个JAR文件添加到类path中就不会给出你所看到的错误

我希望你看到这个错误,如果你运行:

 java -jar app.jar 

Main-Class头文件需要位于JAR文件的清单中 – 这是关于其他所需库的元数据。 请参阅Sun文档以了解如何创build适当的清单。 基本上你需要创build一个文本文件,其中包含这样一行:

 Main-Class: MainClass 

然后运行

 jar cfm app.jar manifest.txt *.class 
  1. 设置类path并编译

    javac -classpath“C:\ Program Files \ Java \ jdk1.6.0_ updateVersion \ tools.jar”yourApp.java

  2. 创buildmanifest.txt

    Main-Class:yourApp 换行符

  3. 创buildyourApp.jar

    jar cvf0m yourApp.jar manifest.txt yourApp.class

  4. 运行你的App.jar

    java -jar yourApp.jar

你可以运行:

 java -cp .;app.jar package.MainClass 

如果JAR文件中没有清单,它适用于我。

我得到这个错误,这是因为我有错误的顺序的参数:

正确

 java maui.main.Examples tagging -jar maui-1.0.jar 

错误

 java -jar maui-1.0.jar maui.main.Examples tagging 

看看教程设置应用程序的入口点

确保使用相应的清单文件正确创build可运行JAR文件的最简单方法是使用Eclipse为您构build。 在你的Eclipse项目中,基本上只需从菜单中selectFile / Export,然后按照提示进行操作。

这样,你就可以确定你的JAR文件是正确的,并且如果仍然存在问题,将会知道在别处查看。 在常见问题解答中详细描述了该过程。 如何为独立的SWT程序创build可执行的JAR文件?

我发现我在NetBeans中也有这个错误。 我希望以下是有帮助的。

  1. 确保当你去项目configuration你设置你打算运行的主要类。
  2. 做一个build设或清洁生成
  3. 将jar文件放在所需的位置,然后尝试:java -jar“YourProject.jar”再次在命令行。

这是我得到的问题,因为我有NetBeans中使用的其他“testing”程序,我必须确保项目configuration的运行部分下的主类正确设置。

许多祝福,约翰P

我跑时遇到同样的错误:
jar cvfm test.jar Test.class Manifest.txt

是什么解决了这个问题:
jar cvfm test.jar Manifest.txt Test.class

我的清单具有oracle文档中给出的入口点(确保在文件末尾有一个新的行字符):
主类:testing

尝试

 java -cp .:mail-1.4.1.jar JavaxMailHTML 

不需要有manifest文件。

我面临同样的问题。 这个unix命令无法find主类。 这是因为JDK版本的运行时和编译时间不同。 更改java编译器版本后,通过eclipse制作jar。 以下链接帮助了我。

http://crunchify.com/exception-in-thread-main-java-lang-unsupportedclassversionerror-comcrunchifymain-unsupported-major-minor-version-51-0/

尝试运行在此步骤之后创build的jar,然后执行它

如果您的类path完全在清单中指定,那么您可能需要最后一个版本的Java运行时环境。 我的问题修复了,当我重新安装了8。

如果您使用eclipse,请尝试以下方法:1.右键单击项目 – >select导出2.在select导出目标中selectRunnable Jar文件3.inputjar名称并select“Package required …”(第二个单选button) – >完成

希望这可以帮助…!