您的位置:首页 > 编程语言 > Java开发

SpringBoot使用Maven打包编译时修改配置文件中变量(一)

2017-12-24 15:33 519 查看
有这样一个需求:项目根目录下的多个Module中有同一个变量,修改时要挨个去改,非常容易出错,能不能把它个集中到一起定义一个统一变量呢?当然是可以的,maven-resources-plugin插件很简单地实现了这个功能,步骤如下:

一、在pom的properties下新增一个变量 my.demo.content

<my.demo.content>test22222</my.demo.content>

二、在pom文件的build的plugins下新增如下plugin

<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>target/classes</outputDirectory>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>**/*.yml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>


注意此处的点位符定义的是@:<delimiter>@</delimiter>


三、my.demo.content的使用方法
在application.yml中定义一个变量 demo.content=@my.demo.content@



-
-

四、执行 mvn clean install , 进入target查看编译好的文件application.yml,发现已经变成了想要的结果



-
-
为避免出错,献上Git源码地址:https://github.com/wangfei0904306/maven-global-properties
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐