Spring boot 调试时打包运行程序踩过的坑

       通常调试maven项目的程序时,我们有时候习惯点击 clean ,然后再点击package/instal,手动生成项目的target文件之后再运行程序(因为程序运行的就是target文件里封装好的东西),如下图

        

其中target文件里的classes存放着我们的程序以及相关配置文件(比如properties、yml一类的)编译之后生成的文件。一般情况下,无论是手动 clean+package/install 还是直接点击运行程序,编写的代码都会被封装进target文件中,但有时候封装过程会漏掉一些文件导致程序运行出错,尤其是配置文件未被封装时!这个时候系统只会提示你找不到XXX文件或XXX路径,但你无论怎么检查代码都找不出问题,那很大可能是这个文件没有被编译进去,所以只能选择重新编译。

       一般后台的类文件不会被漏编,真正漏编的可能是XML、properties、html这类的文件。为解决这类问题,我们应该在pom.xml中添加:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.html</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>

我的项目里这三类文件都在“src/main/resources”路径下,其它项目视路径而定。此代码的大致意思就是在编译程序时将“src/main/resources”目录下后缀是.xml   .html   .properties文件也编译进去,但路径下如果还有其它类型文件可能就无法一同编译进去了,所以我建议写成这样,一了百了:

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值