我正在使用 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>
但是,这迫使我在重命名此 jar 时更改 pom 和程序集文件(如果有的话)。此外,这似乎是错误的。
我已经尝试过<scope>runtime</scope>
并且dependencySets
没有<include>sourceforge.jchart2d:jchart2d</include>
运气。
那么如何system
在 maven 2 中将作用域 jar 包含到您的程序集文件中呢?
非常感谢