2016-08-25 2 views
2

Ich möchte mit Maven-Assembly-Plugin externe Abhängigkeiten in die JAR-Datei der Anwendung packen. Wenn ich mvn install anrufe, erstellt es zwei JAR-Dateien, eine mit und ohne die Abhängigkeiten. (appname-version.jar und appname-version-jar-with-dependencies.jar)Maven Assembly Plugin erstellt zwei unerwartete jars

Meine Frage ist, warum es zwei JAR-Dateien erstellt? Hier

ist das Plugin (im nicht anderen Plugin zur Zeit mit)

<plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <archive> 
       <manifest> 
        <mainClass>com.coolapp.mainClass</mainClass> 
       </manifest> 
      </archive> 
      <descriptorRefs> 
       <descriptorRef>jar-with-dependencies</descriptorRef> 
      </descriptorRefs> 
     </configuration> 
     <executions> 
      <execution> 
       <id>make-assembly</id> <!-- this is used for inheritance merges --> 
       <phase>package</phase> <!-- bind to the packaging phase --> 
       <goals> 
        <goal>single</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

Thank you!

+0

meine Antwort aktualisiert – alexbt

Antwort

2

Sie müssen das maven-jar-plugin definieren, um die Erstellung des Standard-Jar zu vermeiden. Dies wird durch Hinzufügen <phase>none</phase> seiner Ausführungsdetails getan:

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>3.0.2</version> 
    <executions> 
     <execution> 
     <id>default-jar</id> 
     <phase>none</phase> 
     </execution> 
    </executions> 
</plugin> 

Alle Ressourcen/Klassen werden nach wie vor in den Zielordner verschoben, so dass die Maven-Baugruppe kann sich richtig aufbauen.

+0

Es funktioniert wie ein Charme. Vielen Dank! – Nandor

Verwandte Themen