Maven 打包时不同环境打包不同配置文件

背景:
开发时是一个环境,机器ip地址和端口和测试机器都不一样,每次打包完都需要手动修改配置文件,很麻烦。

实现:

首相在resource文件夹下建三个文件夹:dev, test, product,这三个文件夹分别放开发,测试,生产的配置文件。
如下图:
在这里插入图片描述
maven在打包时,会将对应环境文件夹中的配置文件复制到resources下

然后修改项目pom.xml文件, 添加如下代码:

在plugins标签节点下添加:

		<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>compile</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<!-- 覆盖原有文件 -->
							<overwrite>true</overwrite>
							<outputDirectory>${project.build.outputDirectory}</outputDirectory>
							<!-- 也可以用下面这样的方式(指定相对url的方式指定outputDirectory) <outputDirectory>target/classes</outputDirectory> -->
							<!-- 待处理的资源定义 -->
							<resources>
								<resource>
									<!-- 指定resources插件处理哪个目录下的资源文件 -->
									<directory>src/main/resources/${package.environment}</directory>
									<filtering>false</filtering>
								</resource>
							</resources>
						</configuration>
						<inherited></inherited>
					</execution>
				</executions>
			</plugin>

在project节点下添加:

<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<!-- 默认激活 -->
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<!-- 开发 -->
				<package.environment>dev</package.environment>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<!-- 测试 -->
				<package.environment>test</package.environment>
			</properties>
		</profile>
		<profile>
			<id>product</id>
			<properties>
				<!-- 生产 -->
				<package.environment>product</package.environment>
			</properties>
		</profile>
	</profiles>

打包:
在打包时运行:
测试环境打包:mvn package -Ptest -DskipTests
生产环境打包:mvn package -Pproduct -DskipTests

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值