Je suis à l'aide de maven-assembly plugin pour créer un jar de mon application, y compris ses dépendances comme suit:
<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'ai omis quelques autres trucs qui n'est pas liée à la question)
Jusqu'à présent cela a bien fonctionné parce qu'il crée une lib
répertoire avec toutes les dépendances. Cependant, j'ai récemment ajouté une nouvelle dépendance dont la portée est system
, et il ne copie pas à l' lib
répertoire de sortie. quelque chose doit m'échapper de base ici, j'ai donc appeler à l'aide.
La dépendance que j'ai juste ajouté est:
<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 été en mesure d'inclure cette dépendance a été par adjonction de l'élément d'assemblage:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Cependant, ce qui m'oblige à changer de pom et de l'assemblée fichier à chaque fois que ce pot est renommé, si jamais. Aussi, il semble tout simplement faux.
J'ai essayé avec <scope>runtime</scope>
dans la dependencySets
et <include>sourceforge.jchart2d:jchart2d</include>
avec pas de chance.
Alors, comment avez-vous inclure un system
d'étendue de pot de votre fichier d'assembly dans maven 2?
Merci beaucoup