我知道在移动应用程序中使用 MANIFEST 文件,但不知道在 Java 应用程序中使用它的情况。
我猜它只是被用来保存构建信息。我的猜测正确吗?
这是强制性的吗?如果不是,那么我们可以从中获得哪些关键好处?
我知道在移动应用程序中使用 MANIFEST 文件,但不知道在 Java 应用程序中使用它的情况。
我猜它只是被用来保存构建信息。我的猜测正确吗?
这是强制性的吗?如果不是,那么我们可以从中获得哪些关键好处?
manifest.mf
包含了构件的属性。其中最著名的一个是例如 jar
的主类,当没有指定其他类时,该主类用于启动 jar 文件。语法:
Main-Class: classname
其他用途包括打包封装和版本控制。查看 Java 教程了解更多信息:http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
相比例如 AndroidManifest.xml
,JAR 文件中的清单通常包含的信息要少得多。它是相当轻量级的,不包含任何构建或打包信息。
这是因为 Java 没有好的模块系统。所以,一个 JAR 文件不是一个模块,它可能需要大量配置信息(比如依赖的模块列表)。相反,一个 JAR 文件只是一堆带有一些配置信息的类。希望通过 project jigsaw(http://openjdk.java.net/projects/jigsaw/)来解决这个问题。