在开发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>
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐