Maven 2-Assembly mit Abhängigkeiten: JAR unter Scope "System" nicht enthalten
Ich verwende das Maven-Assembly-Plugin, um eine JAR-Datei meiner Anwendung zu erstellen, einschließlich der folgenden Abhängigkeiten:
<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>
(Ich habe einige andere Dinge weggelassen, die nicht mit der Frage zusammenhängen.)
Bisher hat dies gut funktioniert, weil es eine erstelltlib
Verzeichnis mit allen Abhängigkeiten. Ich habe jedoch kürzlich eine neue Abhängigkeit hinzugefügt, deren Gültigkeitsbereich istsystem
, und es kopiert es nicht auf dielib
Ausgabe Verzeichnis. Ich muss hier etwas Grundlegendes vermissen, also rufe ich um Hilfe.
Die Abhängigkeit, die ich gerade hinzugefügt habe, ist:
<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>
Die einzige Möglichkeit, diese Abhängigkeit einzubeziehen, bestand darin, dem Assembly-Element Folgendes hinzuzufügen:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Dies zwingt mich jedoch dazu, die pom- und die Assembly-Datei zu ändern, wenn diese JAR-Datei umbenannt wird, wenn überhaupt. Auch scheint es einfach falsch.
Ich habe es mit versucht<scope>runtime</scope>
in demdependencySets
und<include>sourceforge.jchart2d:jchart2d</include>
ohne glück.
Also, wie schließt du ein?system
Scoped Jar zu Ihrer Assembly-Datei in Maven 2?
Danke vielmals