springboot 打包插件问题

2021-01-06 11:17:22 +08:00
 liian2019
默认 springboot 打包插件会打出一个可运行 jar 和一个可依赖 jar 。
现在想要可运行 jar 包含资源文件,而可依赖 jar 不包含资源文件。这样有办法实现吗
1638 次点击
所在节点    Java
5 条回复
qwerthhusn
2021-01-06 11:22:22 +08:00
有个笨方法,不知可用不可用,引入 groovy plugin,然后写 groovy 脚本处理 original jar 包
jar 包是 zip 的打包方式,直接用 zip 的方式解压开,去掉不要的文件,再压缩
liian2019
2021-01-06 11:32:21 +08:00
@qwerthhusn 谢谢你,这样有点麻烦了,想看看能不能直接通过 pom 的配置来实现
wolfie
2021-01-06 13:41:07 +08:00
liian2019
2021-01-06 15:45:56 +08:00
已找到解决方案,贴上配置供大家参考
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>environment/**</exclude>
<exclude>static/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/environment/${environment}</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>lib</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>lib</classifier>
<excludes>
<exclude>*.yml</exclude>
<exclude>*.xml</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeGroupIds>org.projectlombok</excludeGroupIds>
</configuration>
</plugin>
</plugins>
</build>

第三方项目依赖时需要加入 classifier 标签
<dependency>
<groupId>com.bangdao</groupId>
<artifactId>mkplat-admin</artifactId>
<version>${mkplat.version}</version>
<classifier>lib</classifier>
</dependency>
liian2019
2021-01-06 15:46:21 +08:00
@wolfie 谢谢你,通过 maven-jar-plugin 解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/742120

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX