2015-05-20 40 views
9

Używam wtyczki maven-shade do utworzenia pojedynczego pliku wykonywalnego. Spodziewam się, że wtyczka utworzy pojedynczy plik jar (foo.jar) w katalogu docelowym. Jednak utworzy również dwa inne słoiki: original-foo.jar i foo-shaded.jar.Wyłączanie dodatkowych jarów dla wtyczki maven-shade

Dlaczego tworzy te pliki i jak wyłączyć to zachowanie?

(Mamy kolejny projekt przy użyciu tej wtyczki, gdzie te pliki nie są tworzone. Dlatego jestem pewien, że jest możliwe, aby wyłączyć te, ale nie mogłem zobaczyć różnicę.)

Odpowiedz

1

Można spojrzeć do dokumentacji maven-shade-plugin, która da ci opcję shadedArtifactAttached, która będzie kontrolować zachowanie, które opisujesz.

<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

To pomogło pozbyć się 'foo-shaded.jar 'plik, ale plik' original-foo.jar' jest nadal generowany. Ciekawi mnie również, dlaczego inny projekt nie generuje 'foo-shaded.jar' pomimo braku powyższej konfiguracji. – michas