2009-05-26 5 views
4

J'ai apporté les modifications suivantes au fichier POM.xml pour ajouter un fichier manifest que j'ai conservé dans \ resources \ META-INF Mais je suis incapable de créer un fichier jar exécutable.Ajout de manifeste au fichier jar lors de la compilation avec maven2

<build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.0.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
      <archive> 
      <manifest> 
      <mainClass>com.mypackage.myMainClass</mainClass> 
      <!--addClasspath>false</addClasspath--> 
      </manifest> 
      <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> 
      </archive> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

Toutes les suggestions?

Répondre

4

utilisez le maven-assembly-plugin.

Exemple:

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <archive> 
        <manifest> 
         <mainClass>foo.bar.Main</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

Merci le pot exécutable est créé, mais en quelque sorte je suis arrivé à double entrée pour toutes les ressources dans le pot. C'est-à-dire que j'avais des ressources en double. – krisp

+1

J'avais utilisé l'assemblage mvn: assemblage pour construire le pot – krisp

+0

qui est vraiment bizarre. Peut être que c'est un bug? – dfa

Questions connexes