Failed to load Main-Class manifest attribute from TestExample.jar
当我尝试运行可执行jar文件时,如何解决上述问题?
Failed to load Main-Class manifest attribute from TestExample.jar
当我尝试运行可执行jar文件时,如何解决上述问题?
您需要在 Manifest 中指定主类。这是您指定 jar 的入口点的方式。您在此处指定的类需要有一个 main 方法,该方法在运行 jar 时首先执行。
看看这个以获得很好的解释:http ://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
您是否将META-INF
文件包含在指定 jar 的 jar 中Main-Class
?
命令:jar cvfm MyJarName.jar manifest.txt *.class
cvfm 的意思是“创建一个 jar;显示详细输出;指定输出 jar 文件名;指定清单文件名。”
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
文件扩展名的文件时,通常会使用第二种变体。