我有一个生成 jar 文件的 Maven 模块。我被要求开发几个其他 uberjar 文件
作为构建过程的副产品。我还被告知这 2 个 jar 文件是小程序 jar 文件
需要包含 Maven 模块依赖项中的一些类。
我环顾四周,缩小到这 3 个选项 -
-
Maven 组装插件 http://maven.apache.org/plugins/maven-assembly-plugin/- 这可以从 Maven 模块生成的类构建自定义 jar。不能包含第三方依赖项。
- 通过 Maven 使用 ant - 使用maven 依赖插件 http://maven.apache.org/plugins/maven-dependency-plugin/解压依赖项,然后通过 ant 脚本打包 applet jar。
- Use Maven 阴影插件 http://maven.apache.org/plugins/maven-shade-plugin/- 虽然这个插件不能直接满足我的要求,但我可以让它工作。
虽然我可以使用 (b) 和 (c) 来完成工作,但我无法决定使用哪一个。我注意到的一件关键事情是使用依赖插件非常耗时。
我想知道人们是否还有其他方法可以实现相同的要求。
您可以使用程序集插件包含依赖项dependencySet
元素,参见:
- http://maven.apache.org/plugins/maven- assembly-plugin/ assembly.html#class_dependencySet http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet
具体来说,这是一个来自安德鲁·E·布鲁诺的博客 http://left.subtree.org/2008/01/24/creating-executable-jars-with-maven/:
<dependencySets>
<dependencySet>
<outputDirectory></outputDirectory>
<outputFileNameMapping></outputFileNameMapping>
<unpack>true</unpack>
<scope>runtime</scope>
<includes>
<include>commons-lang:commons-lang</include>
<include>commons-cli:commons-cli</include>
</includes>
</dependencySet>
</dependencySets>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)