J'utilise le plugin maven-assemblage pour créer un pot de ma demande, y compris ses dépendances comme suit:assemblage Maven 2 avec dépendances: pot sous la portée « système » non inclus
<assembly>
<id>macosx</id>
<formats>
<format>tar.gz</format>
<format>dir</format>
</formats>
<dependencySets>
<dependencySet>
<includes>
<include>*:jar</include>
</includes>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
(j'omis une autre ce qui n'est pas lié à la question)
Jusqu'à présent, cela a fonctionné correctement car il crée un répertoire lib
avec toutes les dépendances. Cependant, j'ai récemment ajouté une nouvelle dépendance dont la portée est system
, et elle ne le copie pas dans le répertoire de sortie lib
. Je dois manquer quelque chose de fondamental ici, alors je demande de l'aide.
La dépendance que je viens d'ajouter est la suivante:
<dependency>
<groupId>sourceforge.jchart2d</groupId>
<artifactId>jchart2d</artifactId>
<version>3.1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/external/jchart2d-3.1.0.jar</systemPath>
</dependency>
La seule façon que j'ai pu inclure cette dépendance était en ajoutant ce qui suit à l'élément d'assemblage:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Cependant, ces forces moi de changer le pom et le fichier d'assemblage chaque fois que ce pot est renommé, si jamais. En outre, il semble juste faux. J'ai essayé avec <scope>runtime</scope>
dans le dependencySets
et <include>sourceforge.jchart2d:jchart2d</include>
sans chance.
Alors comment inclure un fichier system
dans votre fichier d'assemblage dans maven 2?
Merci beaucoup
La portée "runtime" ne changera pas le résultat, car c'est la valeur par défaut. – khmarbaise
Je viens de pousser jchart2d à Maven Central! http://sourceforge.net/news/?group_id=50440 - profitez-en! – halfdan