Java'找不到.jar的主类',即使它是用manifest.mf编写的

时间:2013-09-16 09:52:21

标签: java netbeans deployment ant jar

我正在使用Netbeans来构建一个jar。当我按f6时,该项目在Netbeans中运行正常。但是,如果我进入我的/ dist /文件夹并尝试运行.jar,它就会打开它,好像它是.zip一样。如果我尝试从命令行运行项目,我会收到'找不到主类'错误。但是,如果我浏览.jar,并查看META-INF / manifest.mf文件,我可以看到它确实描述了其中的主类。

我的包名为myname.project,主类名为myname.project.Main。

任何想法是什么问题?

2 个答案:

答案 0 :(得分:2)

尝试使用command-line命令从$ java -cp bar.jar X运行它,其中X是没有.class扩展名的主类。如果它运行,那么清单结构就会出现问题。

答案 1 :(得分:2)

运行可运行的jar文件的正确方法是使用-jar开关。

java -jar path/to/file.jar

运行没有清单中指定的mainclass的jar文件的另一种方法(或者由于某种原因有多个主类是标准的

java -cp path/to/file.jar com.foo.Main