Maven:将JAR的类包含在另一个JAR中

时间:2013-01-28 09:53:15

标签: maven

我想用另一个JAR(但不是所有类)的某些类生成JAR文件。我知道我可以使用maven-dependency-plugin:copy-dependencies将JAR包含到另一个JAR中,但是我怎么能只包含一些类而不是整个JAR呢?

2 个答案:

答案 0 :(得分:2)

您可以在maven-dependency-plugin的配置中包含/排除。

请参阅Unpacking specific artifacts

答案 1 :(得分:0)

另一个解决方案是允许包含依赖项的Maven Shade Plugin,但也允许转换它们的包名(以及对它们的所有引用),以便如果捆绑的JAR也在上面,那么生成的überjar对于类路径重复是安全的类路径。

一个例子是this pom.xml,其中例如使用的XStream类被重新定位到不同的包。这允许jar文件在使用不同且不兼容的XStream版本的应用程序中使用(在这种情况下,工件在Jenkins插件中使用)