我正在使用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和程序集文件。而且,这似乎是错误的。
我尝试过在dependencySets
和<include>sourceforge.jchart2d:jchart2d</include>
中使用<scope>runtime</scope>
,但没有成功。
那么,如何在maven 2中将system
作用域的jar包含到程序集文件中呢?
非常感谢
https://stackoverflow.com/questions/2065928
复制相似问题