2011-10-22 8 views
5

Mam projekt maven, który utworzyłem z spring roo. Kiedy uruchamiam mvn assembly:single otrzymuję gruby słoik z wszystkimi zależnościami, ale nie z rzeczywistym kodem, który napisałem. Oto moja konfiguracja wtyczek z mojego pom.xml:Dlaczego "zespół mvn: pojedynczy" tworzy słoik z tylko złożeniami, a nie z mojego kodu?

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2.1</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <archive> 
        <manifest> 
         <mainClass>net.justaprogrammer.poi.cleanser.Cleanser</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

Co robię źle?

Odpowiedz

4

Rozwiązaniem jest dodanie pojedynczego celu do fazy pakietowej cyklu życia projektu. Oznacza to, że trzeba dodać następujący xml w sekcji konfiguracyjnej:

  </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
1

dobrze, jar-with-dependencies robi dokładnie to, czego opisać się dzieje. Dlaczego po prostu nie użyjesz mvn package?

+0

jar - ** with ** - zależności oznacza, że ​​jar zawiera zależności oprócz kodu, który napisałem. Nie ma też sensu dodawanie celu piosenki do fazy pakietowej, zmieniałoby to wynik wytworzony przez pojedynczy cel, o czym pisałem w mojej odpowiedzi. –

7

Powiem, że to, co zrobiłeś, całkowicie wystarcza. Zamiast montażu: pojedynczy, wykonaj:

mvn clean compile assembly:single 

I powinieneś być dobry.

Powiązane problemy