2009-12-24 3 views
0

J'ai un projet multi-module et j'utilise le plugin assembly pour construire un fichier tar. J'ai inclus tous mes modules dans le plugin d'assemblage en utilisant la balise moduleSets.Plugin Maven Assembly - Inclure les fichiers repo

<moduleSets> 
    <moduleSet> 
     <includes> 
      <include>module1</include> 
      <include>module2</include> 

Tous mes pots de module sont assemblés dans un dossier lib. Je veux ajouter mysql jar de mon référentiel maven local au même dossier lib qui contient tous mes autres modules. L'ajout de fichiers JAR locaux dans le module ne semble pas fonctionner.

[WARNING] The following patterns were never triggered in this artifact inclusion filter: 
o 'mysql.mysql-connector-java:mysql-connector-java-version' 

Comment puis-je inclure des pots de repository.

Répondre

1

Je ne pense pas que vous devez faire quelque chose de spécial, assurez-vous juste mysql est répertorié comme dépendance dans votre projet et il devrait fonctionner. La même chose s'applique aux dépendances sur les modules - il suffit de les lister en tant que dépendances. Voici la configuration typique du plugin d'assemblage.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <configuration> 
     <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
    <executions> 
     <execution> 
     <id>make-assembly</id> 
     <phase>package</phase> 
     <goals> 
      <goal>single</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
2

Je pense que vous devez déclarer votre pot mysql dans le includes sous-élément d'un dependencySet.

Quelque chose comme ceci:

<assembly> 
    <id>my-assembly</id> 
    ...  
    <dependencySets> 
    <dependencySet> 
     <outputDirectory>/lib</outputDirectory> 
     <includes> 
     <include>mysql:mysql-connector-java</include> 
     </includes> 
     <unpack>false</unpack> 
     <scope>runtime</scope> 
    </dependencySet> 
    </dependencySets> 
    ... 
</assembly> 

Consultez la documentation Descriptor Format et/ou le chapitre 12.5.4. dependencySets Section du Livre Maven pour plus de détails sur cet élément.

+0

+1. Une autre bonne option serait d'ajouter ce connecteur mysql au module qui en a besoin en tant que dépendance d'exécution. – cetnar

0

J'ai eu le même problème, et a résolu le problème en modifiant la portée sur la dépendance des pom à compiler.

<dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <scope>compile</scope> 
    </dependency>