2012-06-21 17 views
19

Sono a conoscenza dell'utilizzo del file MANIFEST in un'applicazione mobile, ma non sono a conoscenza dell'utilizzo dello stesso in un'applicazione Java.Che cosa si intende per MANIFEST.MF in WAR/JAR/EAR?

Secondo la mia ipotesi, è stato usato per mantenere solo le informazioni BUILD. Ho ragione??

È obbligatorio? In caso contrario, quali sono i vantaggi principali che possiamo trarre da questo?

+0

ad esempio, è possibile utilizzarlo per il controllo delle versioni, come spiegato qui: http://www.jcabi.com/jcabi-manifests/versioning.html – yegor256

risposta

19

manifest.mf contiene gli attributi dell'oggetto. Uno dei più noti è ad esempio la classe principale di jar che viene utilizzata per avviare il file jar quando non è specificata un'altra classe. Sintassi:

Main-Class: classname 

Altri scopi sono, per esempio, di tenuta pacchetto ed il pacchetto delle versioni. Scopri il tutorial di Java su di esso: http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

Un manifest in un barattolo di solito contiene molte meno informazioni rispetto ad esempio AndroidManifest.xml. È abbastanza leggero e fa non contiene informazioni di costruzione o confezione.

Questo perché java non ha un buon sistema di moduli. Quindi, un jar non è un modulo che potrebbe richiedere molte informazioni di configurazione (come un elenco di moduli a cui ha dipendenze). Invece, un jar è solo un gruppo di classi con alcune informazioni di configurazione. Si spera che venga risolto dal puzzle del progetto (http://openjdk.java.net/projects/jigsaw/).

+0

In questo momento Il mio file manifest è come "Manifest-Version: 1.0" solo . Comunque la mia domanda sta andando bene. –

+0

ovviamente, il mainfest non è necessario. È semplicemente in grado di portare ulteriori informazioni sul barattolo. – gexicide

+0

Vorrei fare un confronto qui, come nell'applicazione mobile, l'applicazione non funzionerebbe senza di essa, ma non è il caso di Jar ecc perché? –

Problemi correlati