显示'无法从TestExample.jar加载Main-Class清单属性'

时间:2012-02-10 05:54:04

标签: java jar manifest manifest.mf

Failed to load Main-Class manifest attribute from TestExample.jar 

如何在尝试运行可执行jar文件时解决上述问题?

3 个答案:

答案 0 :(得分:0)

您是否在jar中添加了META-INF文件,该文件指定了Main-Class

命令:jar cvfm MyJarName.jar manifest.txt *.class

cvfm意味着"创造一个罐子;显示详细输出;指定输出jar文件名;指定清单文件名。"

答案 1 :(得分:0)

您需要在Manifest中指定主类。这是你如何指定jar的入口点。您在此处指定的类需要一个main方法,该方法在运行jar时首先执行。

请看一下这个问题,以获得一个很好的解释:http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html

答案 2 :(得分:0)

Java有两种方法可以从JAR文件开始。第一个指定JAR文件和主类(具有静态main(String[])方法的类):

java -cp .../example.jar com.example.Main

第二种方法使用-jar参数(而不是-classpath参数)。它不允许指定主类:而是期望主类在Manifest中的JAR文件内指定。 (META-INF/MANIFEST.MF包含一行Main-Class: com.example.Main)。

java -jar example.jar

您的错误消息表示您有一个JAR文件,该文件未构造为可执行JAR文件(主类没有清单条目)。您需要以不同方式构建JAR,或者使用命令行的第一个变体启动它。顺便说一句:当您双击带有*.jar文件扩展名的文件时,经常会使用第二种变体。