Maven环境隔离

项目开发过程中,需要分为几个环境进行开发,这样方便代码的开发测试及发布生产环境。以下使用的是IDEA进行的配置。

1.新建环境隔离目录

在项目src/main/resources下新建一个profiles文件夹,文件夹下再新建四个对应环境的文件夹,将需要环境隔离的配置文件分别逐一复制到每个文件加下。

2.在pom文件中加入如下配置:

    <profiles>
		<profile>
			<id>local</id>
			<properties>
				<env>local</env>
			</properties>
			<!--默认选择环境-->
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>dev</id>
			<properties>
				<env>dev</env>
			</properties>
		</profile>
		<profile>
			<id>beta</id>
			<properties>
				<env>beta</env>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<env>prod</env>
			</properties>
		</profile>
	</profiles>

	<build>
		<filters>
			<filter>src/main/resources/profiles/${env}/application.properties</filter>
		</filters>
		<resources>
			<!--先不加载profiles文件下的配置文件-->
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<excludes>
					<exclude>profiles/**</exclude>
					<exclude>*.jsp</exclude>
				</excludes>
			</resource>
			<!--单独再加载选择的环境配置文件-->
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>profiles/${env}/**</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

3.选择环境

1~2点配置完成之后,点击打开Maven Projects栏,会看到多了一个Profiles目录,点击展开就是配置的四个环境:
profiles

选择所需环境时需要经过maven重新编译才会生效,可执行以下命令:

   #-Dmaven.test.skip=true  表示maven打包时跳过单元测试
   # -Pprod  表示激活根据pom.xml配置的<profile>下<id>为prod
   # -P 参数 配合资源过滤Filter
   mvn clean package -Dmaven.test.skip=true -Pprod
   或
   mvn clean package -Dmaven.test.skip=true -Pbeta
   等

注:

参考资料:Maven环境隔离

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值