2011-02-09 13 views
8

Mam projekt mavenized java (Maven2), który chcę zbudować w słoiku, który jest dość łatwy, dostarczając deskryptor słoiczka z zależnościami. plik pom.xml.budowanie słoika i dołączanie go do suwaka z wtyczką do maven-assembly

Muszę jednak wdrożyć mój projekt w pliku zip z niektórymi plikami .exe i .bat, między innymi z folderu bin, który wywołuje słoik. (Używam Tanuki, ale to nie ma znaczenia dla przypadku użycia, myślę)

Innymi słowy, potrzebuję kompilacji, w której najpierw moje źródła (i zależności) są pakowane do słoika i ten słoik jest następnie wprowadzany do suwak z dodatkowymi plikami z folderu bin.

Co powinienem umieścić w moim pom.xml i "assembly'.xml?

Odpowiedz

8

Dodatek Maven-assembly jest odpowiednim narzędziem do tego.

Musisz zadeklarować tę wtyczkę w sekcji "kompilacji" swojej pom i stworzyć kolejny plik konfiguracyjny "assembly.xml" w katalogu głównym projektu. W tym pliku Twoja wola zdefiniuje zawartość twojego pliku zip.

opcje konfiguracyjne opisane są na oficjalnej stronie: http://maven.apache.org/plugins/maven-assembly-plugin/

Oto prosty przykład konfiguracji tej wtyczki, które powinny spełnić swoje potrzeby.

POM config: config

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <finalName>zipfile</finalName> 
     <descriptors> 
      <descriptor>${basedir}/assembly.xml</descriptor> 
     </descriptors> 
    </configuration> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

Montaż:

<assembly> 
    <formats> 
     <format>zip</format> 
    </formats> 

    <fileSets> 
     <fileSet> 
      <directory>to_complete</directory> 
      <outputDirectory /> 
      <includes> 
       <include>**/*.jar</include> 
       <include>**/*.bat</include> 
       <include>**/*.exe</include> 
      </includes> 
     </fileSet> 
    </fileSets> 
</assembly> 
+0

Dzięki za odpowiedź, to był kluczowy kick start Musiałem dostać pracy. – NomeN

+1

Musiałem dodać kolejny deskryptor, który sprawia, że ​​mój jar jednak. Właściwie po prostu skopiowałem format deskryptora słoik-z-zależnościami z witryny, o której wspomniałeś, używając deskryptora słoik-z-zależnościami. Rafa opanowała kompilację zip. tzn. najpierw tworzy "sic" słoik, potem zip, a następnie z-dependencies.jar, który tworzy suwak z pierwszym (bezużytecznym) słojem, ale bez drugiego, dziwnego, prawda ?! – NomeN

Powiązane problemy