maven的pom.xml中resources标签介绍
在开发maven项目时,一般都会把配置文件放到src/main/resources目录下,针对这个目录,maven的resources对其进行单独的配置。这类的文章推荐看下这两篇:maven的pom.xml中resources标签介绍 - 安小乐 - OSCHINA - 中文开源技术交流社区https://my.oschina.net/anxiaole/blog/1613348Maven的pom.
在开发maven项目时,一般都会把配置文件放到src/main/resources目录下,针对这个目录,maven的resources对其进行单独的配置。
这类的文章推荐看下这两篇:
maven的pom.xml中resources标签介绍 - 安小乐 - OSCHINA - 中文开源技术交流社区https://my.oschina.net/anxiaole/blog/1613348Maven的pom.xml中resources标签的用法_wenonepiece的博客-CSDN博客_pom.xml resourceshttps://blog.csdn.net/wenonepiece/article/details/112721380上述文章解答了我的大多数疑问,但依然有一些问题讲的不清楚,故在此总结一下。
<build>
<!-- maven对resources资源的配置,一个resources标签下可以有多个resource标签 -->
<resources>
<resource>
<!--
需要配置的原资源目录,${basedir}和${project.basedir}变量均指项目根目录。
这里的lib文件夹,存在了项目依赖的三方jar和dll文件
-->
<directory>${basedir}/src/main/resources/lib</directory>
<!--
目标目录,即原资源目录下的文件编译打包之后要放到哪里去。
默认路径 target/classes/,路径前缀 target/classes/,也就是说如果配置的是BOOT-INF/lib/,最终结果为target/classes/BOOT-INF/lib/
-->
<targetPath>BOOT-INF/lib/</targetPath>
<!-- 是否过滤,默认是false,这里的过滤指的是,是否将原资源目录下的配置文件的${key}替换成对应的值 -->
<filtering>true</filtering>
<!--
如果你觉得原资源目录范围太大,你可以通过includes标签来具体指定需要哪些文件,或者通过
excludes标签来具体指定需要排除那些文件。两个标签都可以模糊匹配
-->
</resource>
</resources>
</build>
注意事项
当你使用<resources>标签配置自定义的配置文件时,可能会导致application.yml等原本的springboot默认配置文件不生效了。
例如,下面是我项目需要用到的配置
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>../lib</targetPath>
</resource>
</resources>
测试的时候发现,自己的外部依赖文件是打包进去了,但是springboot自带的yml配置文件确不生效了。因此,在你配置自定义的文件之后,别忘了系统自带的配置文件。
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>../lib</targetPath>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)