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

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

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

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

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/ )修复。