Alb*_*ger 27 java uberjar maven maven-shade-plugin module-info
所以这是我的问题...
我正在使用 maven-shade 插件将 Spring Boot 应用程序打包到 uber jar 中。很简单吧?好吧,除了最近我在结尾处收到以下警告mvn clean package:
[WARNING] Discovered module-info.class. Shading will break its strong encapsulation.
这实际上并没有破坏任何东西,但我是一个完美主义者,这让我发疯了吗?我该如何摆脱它?我尝试了很多东西,但没有成功。
请帮忙 :(
roc*_*oco 29
正如评论中所引用的,过滤掉阴影插件中的文件对我来说似乎很好。
这是我的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>
Run Code Online (Sandbox Code Playgroud)
关键线是<exclude>module-info.class</exclude>. 过滤器在任何工件(*:*= 任何工件)中看到该文件时都会排除该文件。(其他三个排除我用来摆脱依赖项中签名文件的错误)
我没有注意到这样做有任何不需要的副作用,现在警告消失了!
| 归档时间: |
|
| 查看次数: |
9206 次 |
| 最近记录: |