Java 如何使用maven assembly插件从依赖项jar中排除包?
我正在使用maven assembly plugin打包我的项目的一个发行版,其中包含一个带有依赖项jar的lib文件夹、一个带有资源的config文件夹和一个包含项目类文件的jar文件。我需要从lib文件夹中的一个依赖项jar中排除一个包 assembly插件有一个解包依赖项JAR的选项,如果使用此选项,则可以排除带有assembly.xml的包,如下所示:Java 如何使用maven assembly插件从依赖项jar中排除包?,java,maven,jar,packaging,maven-assembly-plugin,Java,Maven,Jar,Packaging,Maven Assembly Plugin,我正在使用maven assembly plugin打包我的项目的一个发行版,其中包含一个带有依赖项jar的lib文件夹、一个带有资源的config文件夹和一个包含项目类文件的jar文件。我需要从lib文件夹中的一个依赖项jar中排除一个包 assembly插件有一个解包依赖项JAR的选项,如果使用此选项,则可以排除带有assembly.xml的包,如下所示: 焦油 假的 真的 假的 ./${project.build.finalName}/lib 运行时 **/不包括包装/** 我的问题是
焦油
假的
真的
假的
./${project.build.finalName}/lib
运行时
**/不包括包装/**
我的问题是,如何在不使用解包的情况下将包从依赖项jar中排除(即将所有依赖项打包为jar)?理想情况下,我想要一个可以使用汇编插件完成的解决方案-如果不可能,那么实现我想要做的最简单的方法是什么?我不认为您可以在解压缩和过滤JAR后重新打包它。您可以在网站上提交增强请求
一个(复杂的)解决方法是使用
maven依赖插件
处理您想要从中排除的项目依赖,然后再次使用maven-jar插件
对类执行操作,排除新jar中的包,最后为maven程序集插件
为该特定依赖项声明一个
元素
示例配置如下所示:
maven依赖插件
2.10
打开
解包依赖项
准备包装
${project.build.directory}/unpack/temp
maven jar插件
2.6
重新包装
罐子
准备包装
${project.build.directory}/unpack/temp
**/不包括包装/**
${project.build.directory}/unpack
精彩图书馆重新包装
然后在程序集配置中,您将有:
${project.build.directory}/unpack/wonder-library-repackaged.jar
/${project.build.finalName}/lib