如何删除阴影 .jar 的 module-info.class 警告?
How can I remove module-info.class warning for a shaded .jar?
我正在使用 maven-shade 插件将一个 Spring 启动应用程序打包到一个 uber jar 中。简单吧?好吧,除了最近我在 mvn clean package
末尾收到以下警告:
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
它实际上并没有破坏任何东西,但我是一个完美主义者,这让我抓狂。我该如何摆脱它?我试过很多东西都没有成功。
过滤掉阴影插件中的文件对我来说似乎工作正常。
这是我的 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>
。过滤器在任何工件(*:*
= 任何工件)中看到它时都会排除该文件。 (另外三个excludes我用它来去除依赖中签名文件的bug)
我没有注意到这样做有任何不良副作用,警告现在消失了!
我正在使用 maven-shade 插件将一个 Spring 启动应用程序打包到一个 uber jar 中。简单吧?好吧,除了最近我在 mvn clean package
末尾收到以下警告:
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
它实际上并没有破坏任何东西,但我是一个完美主义者,这让我抓狂。我该如何摆脱它?我试过很多东西都没有成功。
过滤掉阴影插件中的文件对我来说似乎工作正常。
这是我的 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>
。过滤器在任何工件(*:*
= 任何工件)中看到它时都会排除该文件。 (另外三个excludes我用它来去除依赖中签名文件的bug)
我没有注意到这样做有任何不良副作用,警告现在消失了!