2009-06-11 11 views
5

Ho bisogno di creare un file jar che include (altri progetti esterni) artefatti Maven.Specifica le dipendenze non di compilazione in Maven e le impacchetta come risorse

Gli artefatti devono essere inclusi proprio come roba in src/main/resources, senza alcuna elaborazione. Anche se sono essi stessi file jar, non dipendono dal tempo di compilazione per il mio codice e non dovrebbero essere aggiunti al classpath, né nella fase di compilazione, di test o di runtime.

Posso ottenere questo fatto scaricando i file e inserendoli in src/main/resources, ma preferirei averli risolti utilizzando il repository Maven.

+0

Stai cercando di creare una guerra uber? Se è così forse dovresti guardare il plugin Shade (http://maven.apache.org/plugins/maven-shade-plugin/) –

risposta

2

Ecco un esempio di cosa è possibile aggiungere al tuo pom-- copierà l'artefatto con l'ID specificato dal progetto specificato nella posizione specificata.

<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

Dal momento che si dice che si vuole finire con un vaso, la assembly plugin con un descrittore di assembly personalizzato sarebbe probabilmente risolvere questo problema.

Aggiungi un <dependencySet> e specifica l'opzione <unpack> per assicurare che questi artefatti esterni vengano appiattiti all'interno del tuo contenitore.

Problemi correlati