Comment créer un fichier manifeste avec Maven

Comment créer un fichier manifeste avec Maven

Ce didacticiel vous montrera comment utiliser lesmaven-jar-plugin pour créer un fichier manifeste, et le compiler / l'ajouter dans le fichier jar final. Le fichier manifeste est normalement utilisé pour définir les tâches suivantes:

  1. Définissez le point d'entrée de l'application, rendez le Jar exécutable.

  2. Ajoutez un chemin de classe de dépendance de projet.

Lorsque vous exécutez la commandemvn package pour empaqueter le projet dans un Jar, le fichiermeta-inf/manifest.mf suivant sera généré et ajouté automatiquement au fichier Jar final.

meta-inf/manifest.mf

Manifest-Version: 1.0
Built-By: ${user.name}
Build-Jdk: ${java.version}
Created-By: Apache Maven
Archiver-Version: Plexus Archiver

1. Rendre le Jar exécutable

Définissezmaven-jar-plugin danspom.xml et configurez le fichier manifeste via la balise de configuration.

pom.xml

    
    org.apache.maven.plugins
    maven-jar-plugin
    2.4
    
      
        
        com.example.core.App
        
      
    
    

Le fichier manifeste suivant sera généré. Si vous exécutez ce Jar, il exécutera lescom.example.core.App.

meta-inf/manifest.mf

anifest-Version: 1.0
Built-By: example
Build-Jdk: 1.6.0_35
Created-By: Apache Maven
Main-Class: com.example.core.App
Archiver-Version: Plexus Archiver

2. Ajoutez un chemin de classe de dépendance de projet.

La plupart des projets Java nécessitent une dépendance et peuvent être définis facilement dans un fichier manifeste. Normalement, vous utiliserezmaven-dependency-plugin pour copier les dépendances du projet ailleurs.

pom.xml

  
    org.apache.maven.plugins
    maven-jar-plugin
    2.4
    
      
        
        true
        com.example.core.App
        dependency-jars/
        
      
    
  
  
    org.apache.maven.plugins
    maven-dependency-plugin
    2.5.1
    
      
        copy-dependencies
        package
        
            copy-dependencies
        
        
            
                          ${project.build.directory}/dependency-jars/
                    
        
        
    
  

Le fichier manifeste suivant sera généré. Les dépendances du projet seront copiées dans{project}/target/dependency-jars/.

meta-inf/manifest.mf

manifest-Version: 1.0
Built-By: example
Build-Jdk: 1.6.0_35
Class-Path: dependency-jars/log4j-1.2.17.jar
Created-By: Apache Maven
Main-Class: com.example.core.App
Archiver-Version: Plexus Archiver

Télécharger le code source

Téléchargez-le -Generate-Manifest-Using-Maven.zip (7 Ko).