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>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页