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

Antworten auf die Frage(7)

Ihre Antwort auf die Frage