Maven 多环境打包

Maven 多环境打包

创建环境配置目录

按需求在项目资源目录下创建对应环境的配置文件目录。
在这里插入图片描述
因为这个项目有这里我配置了4个环境(两个生产、两个测试)。

添加配置文件

在这里插入图片描述
除了这三个配置外其他配置都是多环境统一的,不用管它们,然后针对不同的环境对配置文件进行修改。

添加maven配置

pom.xml中添加 profiles节点,id自己取值,能唯一识别就行,尽量简洁,后面打包时需要指定这个id。package.environment节点值需要个项目资源目录下环境配置目录一致

	<profiles>
		<profile>
			<id>test_ws</id>
			<properties>
				<package.environment>test_ws</package.environment>
			</properties>
		</profile>
		<profile>
			<id>prod_ws</id>
			<properties>
				<package.environment>prod_ws</package.environment>
			</properties>
		</profile>
		<profile>
			<id>test_yw</id>
			<properties>
				<package.environment>test_yw</package.environment>
			</properties>
		</profile>
		<profile>
			<id>prod_yw</id>
			<properties>
				<package.environment>prod_yw</package.environment>
			</properties>
		</profile>
	</profiles>

<build>
		<finalName>fpiimain_ws</finalName>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<excludes>
					<exclude>prod_ws/*</exclude>
					<exclude>test_ws/*</exclude>
					<exclude>prod_yw/*</exclude>
					<exclude>test_yw/*</exclude>
				</excludes>
			</resource>
		</resources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<fork>true</fork>
						<executable>
							C:\Program Files\Java\jdk1.8.0_102\bin\javac.exe
						</executable>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
					<version>3.8.1</version>
				</plugin>

				<!-- 不同环境的配置文件选择 -->
				<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>
						</execution>
					</executions>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>

打包

Eclipse 项目名右键-》run as -》maven build…
在这里插入图片描述

验证

如何查看打出的包中的配置是否是目的环境的配置呢?
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值