解决Maven项目构建后配置文件在target文件夹中不存在的问题
一、问题分析
1.1 检查配置文件路径
是否存放在 项目名/src/main/resources
目录中
目录结构图如下:
1.2 检查 pom.xml 文件 标签中的配置
-
<exclude>
标签中是否有需要的配置文件被排除掉 -
如果存在
<include>
标签时,则配置文件所在目录一定也要包含在标签中
二、知识点
-
<include>
,<exclude>
标签中,匹配文件的方式(例子)已经在
<directory>
标签中指定了匹配的根目录时,以下 Path 不用在首字符加斜杠/
Path Description * 匹配0个或者任意数量的字符 ** 匹配0个或者任意数量的目录(直接使用**时表示全部的文件) logs/** 匹配 logs 目录下的全部文件 **/test 匹配目录下的test目录 **/*.xml
匹配全部目录下的 xml 后缀名文件 -
Maven官方文件 pom.xml 配置文件说明
构建时默认将
src/main/resources
目录加入编译,即该目录下的全部配置文件将在 target 目录中存在这也是上面提到的为什么要检查配置文件是否存放到该目录中的原因
但是
如果
<build>
标签中存在了<include>
标签,默认不会生效。于是需要开发者自行指定,将需要加入构建的配置文件所在目录加入到<include>
标签中。经测试,存在
<includes>
标签时,默认还会是生效的 -
Mark Directory as
IDEA中提供了对Maven项目的代码文件夹与资源文件夹进行文件夹标记的功能
src/main/java
目录标记为:Sources Rootsrc/main/resources
目录标记为:Resources Root