2009-06-11 7 views
5

Je dois créer un fichier jar contenant des artefacts Maven (autres projets externes).Spécifiez les dépendances non-compilées dans Maven et empaquetez-les en tant que ressources

Les artefacts doivent être inclus à l'identique dans src/main/resources, sans aucun traitement. Même s'ils sont eux-mêmes des fichiers jar, ils ne compilent pas de dépendances temporelles pour mon code et ne doivent pas être ajoutés au classpath, ni à la compilation, ni au test, ni à l'exécution.

Je peux y parvenir en téléchargeant les fichiers et en les plaçant dans src/main/resources, mais je préférerais qu'ils soient résolus en utilisant le dépôt Maven.

+0

Essayez-vous de créer une guerre d'uber? Si oui, peut-être vous devriez regarder le plugin Shade (http://maven.apache.org/plugins/maven-shade-plugin/) –

Répondre

2

Voici un exemple de ce que vous pouvez ajouter à votre pom: il copiera l'artefact avec l'ID spécifié du projet spécifié dans l'emplacement que vous spécifiez.

<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

Puisque vous dites que vous voulez finir avec un pot, le assembly plugin avec un descripteur d'assemblage personnalisé serait probablement résoudre cela.

Ajoutez un <dependencySet> et spécifiez l'option <unpack> pour vous assurer que les artefacts externes sont aplatis dans votre pot.

Questions connexes