在WAR / JAR / EAR中使用MANIFEST.MF有什么用?

时间:2012-06-21 13:48:35

标签: java manifest.mf

我知道在移动应用程序中使用MANIFEST文件,但我不知道在Java应用程序中使用它。

我的猜测就是说,它仅用于保存BUILD信息。我是对的吗?

这是强制性的吗?如果没有,那么我们可以用它来获得哪些主要好处?

1 个答案:

答案 0 :(得分:19)

manifest.mf包含工件的属性。其中一个最着名的例子是jar的主类,当没有指定其他类时,它用于启动jar文件。语法:

Main-Class: classname

其他目的是例如包装密封和包装版本控制。查看关于它的java教程: http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

jar中的清单通常包含的信息少于例如AndroidManifest.xml。它非常轻量级,包含任何构建或打包信息。

这是因为java没有好的模块系统。因此,jar不是一个可能需要大量配置信息的模块(比如它依赖的模块列表)。相反,jar只是一堆带有一些配置信息的类。希望这将由项目拼图http://openjdk.java.net/projects/jigsaw/)修复。