Maven Available Plugins
背景
-
在使用maven做spring-boot web应用的时候,默认会将resources目录下的资源都打包到jar包中。但是我的应用里resources目录下有些前端库,不想打包到jar包中,不然jar包会一百多兆,去掉这些前端库就只有十几兆了。这方面的优化对部署运维人员来说省时省力不少,做docker镜像也会轻松很多。于是查找了一下maven的插件,看官方文档就很详细,不明白的地方再搜索就好。
1. Build plugins
-
Build plugins will be executed during the build and they should be configured in the
1.1 Resources Plugin
- The Resources Plugin handles the copying of project resources to the output directory.
- Including and excluding files and directories.
- 参考:http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
- 补充几点:
- directory标签默认将所有该目录下的资源加入
- 如果同时使用了includes标签就只会加入includes标签里的内容
- 对于比较复杂的资源加入可以参考:
- maven的resources介绍
- 可以通过使用多个resource标签来实现,比如:
- 下面的代码本来想只用一个resource来实现只包含父目录下指定子目录的内容,但是一个resource不能实现,使用两个resource即可:
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<!--<includes>-->
<!--<include>assets/js/bower_components/bootstrap/dist/</include>-->
<!--<include>assets/js/bower_components/jquery/dist/</include>-->
<!--</includes>-->
<excludes>
<exclude>assets/js/node_modules/**</exclude>
<exclude>assets/js/bower_components/**</exclude>
<exclude>assets/gentelella/vendors/**</exclude>
<exclude>static/gentelella/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>assets/js/bower_components/bootstrap/dist/</include>
<include>assets/js/bower_components/jquery/dist/</include>
</includes>
</resource>
</resources>