2011-05-16 16 views
10

Estoy teniendo un problema con el objetivo de ensamblaje de Maven. Tengo un proyecto que tiene varias dependencias, cada una de las cuales puede tener sus propias dependencias transitivas. Si ejecuto mvn dependency: tree de lo que puedo ver, todas las dependencias, incluida la transitiva, se cumplen.La dependencia de conjunto de Maven establecida con include no detecta las dependencias transitivas

Este no es el caso cuando corro el goal.What montaje que me gustaría es cuando agrego una dependencia que se incluirán, a continuación, todas sus dependencias transitivas también están incluidos. En el siguiente ejemplo, tengo tres dependencias que me gustaría incluir. Entonces, cuando se realiza el montaje, esperaba tener esas dependencias y cualquier dependencia transitiva para esas dependencias también.

<assembly> 
<baseDirectory>${artifactId}/${artifactId}-${version}</baseDirectory> 
<formats> 
    <format>zip</format> 
</formats> 

<fileSets> 
</fileSets> 

<dependencySets> 
    <dependencySet> 
     <unpack>false</unpack> 
     <scope>runtime</scope> 
     <outputDirectory>/lib 
     </outputDirectory> 
     <includes> 
      <include>com.acme.core:library-1</include> 
      <include>com.acme.core:library-2</include> 
      <include>com.acme.core:library-2</include> 
     </includes> 
    </dependencySet> 
</dependencySets> 

Pero si abre el archivo zip que solamente encontrará esas tres dependencias actuales que significa en tiempo de ejecución de la aplicación no es adecuado para el propósito, debido a las bibliotecas que faltan. Encuentro esto totalmente intuitivo ya que va en contra del comportamiento que uno esperaría del POM.

¿Alguien ha encontrado este problema y hay una solución?

+0

¿Qué versión del plug-in de montaje utiliza? – dunni

Respuesta

Cuestiones relacionadas