解决Maven项目构建后配置文件在target文件夹中不存在的问题

摘要:
因此,开发人员需要自己指定并将配置文件的目录添加到标记中。

目录
一、问题分析

1.1 检查配置文件路径

是否存放在 项目名/src/main/resources 目录中

目录结构图如下:

解决Maven项目构建后配置文件在target文件夹中不存在的问题第1张

1.2 检查 pom.xml 文件 标签中的配置

  • <exclude> 标签中是否有需要的配置文件被排除掉

  • 如果存在 <include> 标签时,则配置文件所在目录一定也要包含在标签中

二、知识点
  1. <include><exclude> 标签中,匹配文件的方式(例子)

    已经在 <directory> 标签中指定了匹配的根目录时,以下 Path 不用在首字符加斜杠 /

    PathDescription
    *匹配0个或者任意数量的字符
    **匹配0个或者任意数量的目录(直接使用**时表示全部的文件)
    logs/**匹配 logs 目录下的全部文件
    **/test匹配目录下的test目录
    **/*.xml匹配全部目录下的 xml 后缀名文件
  2. Maven官方文件 pom.xml 配置文件说明

    解决Maven项目构建后配置文件在target文件夹中不存在的问题第2张

    构建时默认将 src/main/resources 目录加入编译,即该目录下的全部配置文件将在 target 目录中存在

    这也是上面提到的为什么要检查配置文件是否存放到该目录中的原因

    但是

    如果 <build> 标签中存在了 <include> 标签,默认不会生效。于是需要开发者自行指定,将需要加入构建的配置文件所在目录加入到 <include> 标签中。

    经测试,存在 <includes> 标签时,默认还会是生效的

  3. Mark Directory as

    IDEA中提供了对Maven项目的代码文件夹与资源文件夹进行文件夹标记的功能

    src/main/java 目录标记为:Sources Root

    src/main/resources 目录标记为:Resources Root

    解决Maven项目构建后配置文件在target文件夹中不存在的问题第3张

免责声明:文章转载自《解决Maven项目构建后配置文件在target文件夹中不存在的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker 环境下通过ocelot和consul 实现服务发现与自治使用protostuff自定义编解码器优化springcloud-feign性能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

submit提交表单后,不刷新当前页面

<form method="get" target="test" action="a.html"> <input type=""text /> <input type="submit" /> </form> <iframe name="test" style="display:none">...

vue配置请求转发解决跨域问题

通过nodejs的请求转发到后台,前端地址:http://localhost:8080 后端地址:http://localhost:8081 vue.config.js内容如下: let proxyObj={} proxyObj['/']={ //websocket ws:false, target:'http://localho...

前端本地调试解决跨域的两种方法

1、谷歌浏览器非安全模式解决跨域 右击谷歌浏览器、在属性>>快捷方式>>目标里尾部加上 --disable-web-security --user-data-dir。前面要有空格 2、webpack前后端分离开发接口调试proxyTable解决方案 以vue-cli为例 dev: { env: require('./dev....

opencv linux

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html https://www.google.com.hk/search?q=opencv+linux&ie=utf-8&oe=utf-8&gws_rd=cr&ei=f...

iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

一) 具体方法在 iOS 如何在一个存在多个project的workspace中引入cocoapods管理第三方类库 二)Question && Solution Cocoapods 版本1.0.1 我在按上述链接转换的时候,遇到的问题: 1, [!] `xcodeproj` was renamed to `project`. Please...

IPTABLES详解(10):IPTABLES自定义链

前提基础: 当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。 iptables实现防火墙功能的原理是:在数据包经过内核的过程中有五处关键地方,分别是PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING,称为钩子函数,...