问题
最近在做一个springboot项目,需要使用maven动态打包时替换
resource下的配置文件,但是配置后static和templates文件夹下的文件没被复制到target的class目录
有问题的pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>$</delimiter>
</delimiters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
修改后的pom.xml配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>$</delimiter>
</delimiters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
</includes>
</resource>
<!-- 将不需要过滤的路径配置一下 -->
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>static/**</include>
<include>templates/**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
参考
Maven Resources Plugin官方文档:http://maven.apache.org/plugins/maven-resources-plugin/index.html
在SpringBoot项目中,开发者遇到一个问题,即使用Maven动态打包时,配置文件能被正确替换,但static和templates目录下的文件未被复制到target/class目录。为了解决这个问题,他们在pom.xml中对资源配置进行了调整,添加了一个新的resource节点,设置filtering为false,以包含static和templates目录。经过修改,静态资源和模板文件现在能够正确地在打包过程中被复制。
1062

被折叠的 条评论
为什么被折叠?



