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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangfei0904306/article/details/78885308

有这样一个需求:项目根目录下的多个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中定义一个变量 [email protected]@

-

-

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

-

-

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

猜你喜欢

转载自blog.csdn.net/wangfei0904306/article/details/78885308