Maven Shade Plugin 3.6.0无法排除META-INF.versions文件的问题排查
解决Maven Shade Plugin排除META-INF.versions.9.module-info的警告问题
你配置的排除路径格式错误,导致插件无法匹配到目标文件。JAR包中META-INF.versions.9.module-info对应的实际路径是META-INF/versions/9/module-info.class,需要用**斜杠(/)**分隔目录层级,而非点(.)。
Shade插件的<exclude>规则是基于JAR内的资源路径进行匹配的,必须与文件实际路径完全一致才能生效。之前的写法无法命中目标文件,因此重叠类警告依然会出现。
修改后的正确过滤器配置如下:
<filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF/versions/9/module-info.class</exclude> </excludes> </filter> </filters>
替换配置后重新执行Maven打包命令,即可消除该重叠类警告。
内容的提问来源于stack exchange,提问作者bjlevine
相关产品推荐
相关产品推荐

