Сборка Maven 2 с зависимостями: jar в области «system» не включен
Я использую плагин maven-assembly для создания jar моего приложения, включая следующие зависимости:
<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>
(Я пропустил некоторые другие вещи, которые не связаны с вопросом)
До сих пор это работало нормально, потому что это создаетlib
каталог со всеми зависимостями. Однако недавно я добавил новую зависимость, область которойsystem
и не копирует его вlib
выходной каталог. Должно быть, я что-то упустил здесь, поэтому я зову на помощь.
Зависимость, которую я только что добавил:
<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>
Единственным способом, которым я смог включить эту зависимость, было добавление следующего к элементу сборки:
<files>
<file>
<source>external/jchart2d-3.1.0.jar</source>
<outputDirectory>lib</outputDirectory>
</file>
</files>
Однако это вынуждает меня менять pom и файл сборки всякий раз, когда этот jar-файл переименовывается, если вообще когда-либо. Кроме того, это кажется просто неправильно.
Я пробовал с<scope>runtime</scope>
вdependencySets
а также<include>sourceforge.jchart2d:jchart2d</include>
без удачи
Итак, как вы включаетеsystem
скопировать банку в ваш файл сборки в Maven 2?
большое спасибо