在阴影插件中过滤掉文件对我来说似乎工作正常。
以下是我的配置:maven-shade-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
关键行是 .过滤器会在看到该文件时在任何工件 ( = 任何工件)中将其排除。(其他三个不包括我用来摆脱依赖项中签名文件的错误)<exclude>module-info.class</exclude>
*:*
我没有注意到这样做有任何不必要的副作用,警告现在已经消失了!