estoy usando el plugin de maven-ensamblaje para crear un frasco de mi solicitud, incluyendo sus dependencias de la siguiente manera:Maven 2 con dependencias: Tarro en Ámbito del "sistema" no incluye
<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>
(omití alguna otra cosas que no están relacionadas con la pregunta)
Hasta ahora, esto ha funcionado bien porque crea un directorio lib
con todas las dependencias. Sin embargo, recientemente agregué una nueva dependencia cuyo alcance es system
, y no la copia en el directorio de salida lib
. Debo estar perdiendo algo básico aquí, así que pido ayuda.
La dependencia que acabo añadido es:
<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 única forma que era capaz de incluir esta dependencia era mediante la adición de lo siguiente a la elemento de montaje:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Sin embargo, este fuerzas a mí para cambiar el pom y el archivo de ensamblaje cada vez que se cambia el nombre de este jar, si es que lo hace alguna vez. Además, parece simplemente incorrecto.
He intentado con <scope>runtime</scope>
en el dependencySets
y <include>sourceforge.jchart2d:jchart2d</include>
sin tener suerte.
Entonces, ¿cómo se incluye un tarro de system
scoped en su archivo de ensamblaje en maven 2?
Muchas gracias
El alcance "runtime" no cambiaría el resultado, porque es el predeterminado. – khmarbaise
¡Acabo de enviar jchart2d a Maven Central! http://sourceforge.net/news/?group_id=50440 - ¡disfrútalo! – halfdan