Failed to load Main-Class manifest attribute from TestExample.jar
如何在尝试运行可执行jar文件时解决上述问题?
答案 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
文件扩展名的文件时,经常会使用第二种变体。