欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-13 20:54:11
...

有这样一个需求:项目根目录下的多个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中定义一个变量 aaa@qq.com@

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

-

-

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

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

-

-

为避免出错,献上Git源码地址:https://github.com/wangfei0904306/maven-global-properties