2011-10-22 9 views
5

Tengo un proyecto de maven que he creado con spring roo. Cuando ejecuto mvn assembly:single obtengo un frasco gordo con todas las dependencias, pero no el código real que escribí. Aquí está mi configuración maven-assembly-plugin de mi pom.xml:¿Por qué "mvn assembly: single" crea un contenedor con solo los ensamblajes y no mi código?

 <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> 

¿Qué estoy haciendo mal?

Respuesta

4

La solución es agregar el objetivo único a la fase del paquete del ciclo de vida del proyecto. Esto significa que hay que añadir el siguiente código XML en la sección de configuración:

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

Bueno, jar-with-dependencies hace exactamente lo que usted describe está sucediendo. ¿Por qué no solo usas mvn package?

+0

jar - ** con ** - dependencias implica que el jar incluye las dependencias además del código que escribí. Además, no tiene sentido que agregar el objetivo de songle a la fase del paquete cambie la salida producida por el objetivo único, como dije en mi respuesta. –

7

Diré que lo que ha hecho es totalmente suficiente. En lugar de ensamblar: single, do:

mvn clean compile assembly:single 

Y debería estar listo para empezar.

Cuestiones relacionadas