如何在java的清单文件中设置主类和类路径

jes*_*516 2 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 斜杠/\

任何帮助是极大的赞赏。谢谢你

sch*_*ver 5

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

要记住的关键是,主类指的是 JAR 文件中的类,而不是文件系统上的类。

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

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

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

例如,如果您的代码结构化为使用包名称 com.acme 并且要运行的主类名为 Checkout,则 Main-Class 属性将为 com.acme.Checkout,Checkout.class 文件将位于JAR 文件中的 com/acme 子目录。