今天在学习黑马springboot课程运维篇的多环境开发控制,打包时发生了错误,报错内容如下
报错内容:
Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
无法打包解决方法:
在网上找了很久的解决方案,发现是要在pom.xml的build里添加以下代码:
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.conf</include>
</includes>
</resource>
</resources>
添加完后顺利打包成功
但是却发生了新的问题,打包后的jar包里的yml文件无法识别pom文件里的资源:
以下是pom文件里的配置:
<profiles>
<profile>
<id>dev_env</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>pro_env</id>
<properties>
<profile.active>pro</profile.active>
</properties>
</profile>
<profile>
<id>test_env</id>
<properties>
<profile.active>test</profile.active>
</properties>
</profile>
</profiles>
yml无法识别pom配置解决方法:
对于配置文件找不到pom底下的配置,网上解决方法是把resource里的filtering配置为ture
但是这样配置后反而无法打包,会报和之前一样的打包错误
发现在之前学习时有配置多个一样的yml文件,只是放在不同包下,可能include都能找到
于是尝试修改pom文件build下的resources为以下代码(主要是修改include):
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.yml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
最后项目顺利打包并且yml也读取到了pom文件里的配置