【问题标题】:Showing 'Failed to load Main-Class manifest attribute from TestExample.jar'显示“无法从 TestExample.jar 加载主类清单属性”
【发布时间】:2012-03-02 15:52:34
【问题描述】:
Failed to load Main-Class manifest attribute from TestExample.jar
如何解决我在尝试运行可执行jar文件时出现的上述问题?
【问题讨论】:
标签:
java
jar
manifest
manifest.mf
【解决方案1】:
您是否在指定 Main-Class 的 jar 中包含了 META-INF 文件?
命令:jar cvfm MyJarName.jar manifest.txt *.class
cvfm 的意思是“创建一个 jar;显示详细输出;指定输出 jar 文件名;指定清单文件名。”
【解决方案3】:
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 文件扩展名的文件时,通常会使用第二种变体。