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

本文介绍了如何使用maven-resources-plugin插件在SpringBoot项目中实现配置文件变量的集中定义,避免多模块中重复修改同一变量的问题。通过在pom的properties添加变量,并在build的plugins配置插件来实现。

有这样一个需求:项目根目录下的多个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

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值