2009-06-11 10 views
5

Necesito construir un archivo jar que incluya (otros proyectos externos) artefactos de Maven.Especifique las dependencias de no compilación en Maven y las empaquete como recursos

Los artefactos deben incluirse al igual que las cosas en src/main/resources, sin ningún procesamiento. A pesar de que resultan ser archivos jar, no son dependencias de tiempo de compilación para mi código y no deben agregarse a la ruta de clase, ni en la compilación, la prueba o las etapas de tiempo de ejecución.

Lo puedo hacer descargando los archivos y colocándolos en src/main/resources, pero prefiero que se resuelvan usando el repositorio de Maven.

+0

¿Estás intentando crear una guerra súper? Si es así, tal vez deberías consultar el plugin Shade (http://maven.apache.org/plugins/maven-shade-plugin/) –

Respuesta

2

Aquí hay un ejemplo de lo que puede agregar a su pom-- copiará el artefacto con la ID especificada del proyecto especificado en la ubicación que especifique.

<plugin> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>copy</id> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
       <artifactItem> 
        <groupId>id.of.the.project.group.to.include</groupId> 
        <artifactId>id-of-the-project's-artifact-to-include</artifactId> 
        <version>${pom.version}</version> 
       </artifactItem> 
       </artifactItems> 
       <includeArtifactIds>id-of-the-project's-artifact-to-include</includeArtifactIds> 
       <outputDirectory>${project.build.directory}/etc-whatever-you-want-to-store-the-dependencies</outputDirectory> 
      </configuration> 
      </execution> 
    </executions> 
</plugin> 
1

Dado que usted dice que quiere terminar con un tarro, el assembly plugin con un descriptor de ensamblado personalizado probablemente solucionar esto.

Agregue <dependencySet> y especifique la opción <unpack> para asegurarse de que los artefactos externos se aplanan dentro de su jar.

Cuestiones relacionadas