进一步解决关于maven打包时,资源文件没有被打包进来的问题

进一步解决关于maven打包时,资源文件没有被打包进来的问题

起因

第一次使用Mybatis,将配置文件放在java包下,结果出现了配置文件编译后无法同步到target目录下

这里我们可以看到:

maven默认的打包资源:将resources下资源打包,而java包xml下配置文件未打包到target目录下

遇到的第一个问题

我通过百度找到了解决方案,在pom.xml文件中添加了下面这段代码

这是代码

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <excludes>
            <exclude>**/*.properties</exclude>
            <exclude>**/*.xml</exclude>
        </excludes>
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>

重新编译后,可以发现resources 下的配置文件并没有打包到target目录下

这里我百思不得其解,网上又看了很多博客,无非以下几个解决方案

  • 在pom.xml文件中插入我上面已经加入的代码,然而我插入上面代码解决了问题,也出现了新的问题

  • 手动copy,将配置文件粘贴到target目录的classes文件夹下

  • pom.xml文件打包方式可能被更改为了pom,将其更改为jar或者war

随着学习的深入,我也是把java包下的配置文件转移到了resources文件夹下

我这是还没意识到是添加的那段代码的问题,每次修改都要重新copy,很烦

问题解决

这段代码网友们都没有出错,都可以正常打包resources下的配置文件

But 我就是做不到

解决方案:将这段代码删除,然后将配置文件全部放到resources目录下

总结

  • 使用maven进行打包,若pom.xml中没有配置resources标签,则会采用默认策略,打包资源目录(src/main/resources)下的资源文件。
  • 若pom.xml中配置了resources标签,则完全以配置的为准。(但是我配置的resources标签不行,后面找到原因再说)
posted @   gsq苟生  阅读(3900)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示