2012-06-21 25 views
19

Conozco el uso del archivo MANIFEST en una aplicación móvil, pero no conozco el uso de los mismos en una aplicación Java.¿Qué es el uso de MANIFEST.MF en WAR/JAR/EAR?

Supongo que me dicen que se usa solo para mantener la información BUILD. ¿¿Estoy en lo correcto??

¿Esto es obligatorio? Si no es así, ¿cuáles son los principales beneficios que podemos obtener con esto?

+0

por ejemplo, puede usarlo para versionar, como se explica aquí: http://www.jcabi.com/jcabi-manifests/versioning.html – yegor256

Respuesta

19

manifest.mf lleva los atributos del artefacto. Uno de los más conocidos es, por ejemplo, la clase principal de jar que se utiliza para iniciar el archivo jar cuando no se especifica ninguna otra clase. Sintaxis:

Main-Class: classname 

Otros propósitos son, por ejemplo, el sellado de paquetes y el control de versiones de paquetes. Consulte el tutorial de Java al respecto: http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

Un manifiesto en un contenedor contiene, por lo general, mucha menos información que, por ejemplo, AndroidManifest.xml. Es bastante liviano y contiene , no, que contiene información de compilación o embalaje.

Esto se debe a que java no tiene un buen sistema de módulos. Por lo tanto, un contenedor no es un módulo que podría necesitar mucha información de configuración (como una lista de módulos de los que tiene dependencias). En cambio, un jar es solo un grupo de clases con cierta información de configuración. Afortunadamente, esto se solucionará mediante el proyecto de rompecabezas (http://openjdk.java.net/projects/jigsaw/).

+0

Ahora mi archivo de manifiesto es como "Manifest-Version: 1.0" solamente . Aún así mi aplicación está bien. –

+0

por supuesto, el mainfest no es necesario. Simplemente puede llevar información adicional sobre el jar. – gexicide

+0

Me gustaría hacer una comparación aquí, al igual que en la aplicación móvil, la aplicación no se ejecutaría sin él, pero ese no es el caso con Jar, etc. ¿por qué? –

Cuestiones relacionadas