maven profiles 通过不同选项来决定打哪个配置文件

目前有大部分做法是通过配置不同的配置项,从而打包的时候将配置文件打到jar包或者其他包中,特别是springboot,这种配置文件还是再jar包里面不好配置的情况。配置项如下:

<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>prod</id>
			<properties>
				<package.environment>prod</package.environment>
			</properties>
		</profile>
	</profiles>

上面是父pom上上的配置主要有三种一个是dev开发版本,一个是test测试版本,一个是prod线上版本,对应的实现工程的pom中如下

<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>test/*</exclude>
					<exclude>prod/*</exclude>
					<exclude>dev/*</exclude>
					<exclude>*.yml</exclude>
					<exclude>*.xml</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources/${package.environment}</directory>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

 

 从上面配置可以看出,打包首先会将所有的 test  pord  dev 等配置统一删除,然后再重新加进一个${package.environment}打包配置指定的文件。

如果是通过命令行:

打包命令mvn package -Pdev来指定激活id为 dev 的profile节点, 这样, 开发环境配置文件就会被打包.
开发: mvn package -Pdev (因为配置了默认激活dev部分, 所以也可以使用mvn package, 这与 mvn package -Pdev 效果相同)
测试: mvn package -Ptest
生产:mvn package -Pprod

 我是使用eclipse进行打包,项目pom文件右键,run as ---> maven build,如果是再eclipse中打包的话需要先clean 再打包

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值