如何在清单文件中为java设置main-class和class-path

时间:2015-01-25 04:23:44

标签: java path

我试图掌握java的清单文件中的Main-Class和Class-Path。为什么不包括“C:/”或“/”作为Main-Class或Class-Path路径的一部分?到目前为止,我看到的所有示例都以目录名称开头,即。 com / test / path或lib / test / path等...

例如,如果我的java项目位于d:\java\sample_one\且我的.java和.class文件位于sample_one,我的Class-Path可以设置为d:\java\sample_one\吗?

另外,为什么我见过的一些示例中的Main-Class和Class-Path中的路径使用句点.而不是f / b斜杠/\

非常感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:2)

java清单文件中的Main-Class属性旨在与java -jar foo.jar调用一起使用。它告诉java命令在使用上述命令行语法时,Jar文件中的哪个类应该执行其main方法。它基本上避免了必须在命令行上显式指定主类。

要记住的一个关键事项是,Main-Class引用了一个包含在JAR FILE中的类,而不是在文件系统上。

类似地,Class-Path属性允许您指定应该在类路径上的Java jar文件。同样,它避免了必须使用-classpath参数在命令行上指定它们。如果您使用支持jar文件打包应用程序并且希望保持简单的启动语法,那么很方便。

与Main-Class属性相反,此处的条目是指文件系统中的JAR文件。

Main-Class中的点标识类所在的包。它使用与类或包语句中的package语句相同的语法约定。可以将其视为代码目录结构的替代语法。

例如,如果您的代码构造为使用包名com.acme并且要运行的主类名为Checkout,那么Main-Class属性将是com.acme.Checkout,Checkout.class文件将在JAR文件的com / acme子目录中。