在清单文件中设置main-class的路径

时间:2015-03-14 15:50:48

标签: java jar manifest main entry-point

比如说,我的manifest.txt文件保存在我的bin目录的父目录中,其中保存了类。现在,我希望能够在清单头中引用我的主类,以便我可以直接从父目录创建我的JAR文件。 例如: 我的manifest.txt保存在名为project的目录中:

-project(父目录)包含:     bin(这包含运行应用程序所需的类)     ,SRC(文件夹)      和manifest.txt

所以在一个完美的世界里,我会想象我的manifest.txt看起来像这样: Main-Class:bin / mainclass

但由于某些原因,这不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Main-Class属性必须包含主类的完全限定名称。这与您的项目布局无关。如果该类名为Foo且位于包com.bar中,则主类为com.bar.Foo

如果类Foo在默认包中,这是一种不好的做法,那么它的完全限定名称是Foo。但在这种情况下你应该做的第一件事就是将类移到一个包中。

当您从任何目录执行java -jar path/to/myjar.jar时,java将检查jar,读取清单文件,查找Main-Class,并从jar中加载它。