2015-05-20 21 views
9

Sto utilizzando il plugin maven-shade-per creare un singolo jar eseguibile. Mi aspetto che il plugin crei un singolo jar (foo.jar) nella directory di destinazione. Tuttavia creerà anche altri due vasi: original-foo.jar e foo-shaded.jar.Disabilitare i barattoli aggiuntivi per il plugin maven-shade

Perché crea quei file e come si disabilita questo comportamento?

(Abbiamo un altro progetto che utilizza quel plugin, in cui non vengono creati i file. Per questo sono abbastanza sicuro che è possibile disabilitare quelli, ma non ho potuto vedere la differenza.)

risposta

1

Si può dare un'occhiata nella documentazione maven-shade-plugin che ti darà l'opzione shadedArtifactAttached che controllerà il comportamento che stai descrivendo.

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.3</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      <configuration> 
       <shadedArtifactAttached>false</shadedArtifactAttached> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 
+3

Ciò ha contribuito a sbarazzarsi del 'foo-shaded.jar 'file, ma il file' original-foo.jar' è ancora generato. Sono anche curioso del perché l'altro progetto non generi 'foo-shaded.jar' nonostante manchi la configurazione di cui sopra. – michas