具有依赖关系的Maven 2程序集:不包括范围“系统”下的jar
我正在使用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>
我能够包含此依赖项的唯一方法是将以下内容添加到assembly元素:
<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中将scoped jar 包含到汇编文件中?
非常感谢
慕码人2483693
千万里不及你
30秒到达战场
相关分类