sto utilizzando plugin di Maven-assemblaggio per creare un vaso della mia applicazione, comprese le sue dipendenze come segue:Maven 2 montaggio con dipendenze: vaso in ambito "sistema" non incluso
<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>
(ho omesso qualche altro roba non correlata alla domanda)
Finora questo ha funzionato bene perché crea una directory lib
con tutte le dipendenze. Tuttavia, di recente ho aggiunto una nuova dipendenza il cui ambito è system
e non la copia nella directory di output lib
. devo mancare qualcosa di semplice qui, quindi chiedo aiuto.
La dipendenza che ho appena aggiunto è:
<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>
L'unico modo ho potuto includere questa dipendenza è aggiungendo la seguente all'elemento di montaggio:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Tuttavia, questo forze per cambiare il pom e il file di assemblaggio ogni volta che questo barattolo viene rinominato, se mai. Inoltre, sembra solo sbagliato.
Ho provato con <scope>runtime</scope>
nel dependencySets
e <include>sourceforge.jchart2d:jchart2d</include>
senza fortuna.
Quindi, come includere un vaso con scope system
nel file assembly in Maven 2?
Grazie mille
L'ambito "runtime" non cambierebbe il risultato, perché è il default. – khmarbaise
ho solo spinto jchart2d a Maven centrale! http://sourceforge.net/news/?group_id=50440 - buon divertimento! – halfdan