Maven 利用Profile属性配置,生成不同环境(生产、测试)下的发布包

场景: 在用Maven构建的项目中,用install 生成web 端war时,由于生产和测试环境的数据源等配置不同,经常需要修改这些配置文件,生成不同环境下的war包。如果不够细心,可能会导致生产测试环境配置混淆或漏改,从而导致应用无法正常运行。

解决:Maven项目中,通过配置不同 Profile,可以做到在生成war包时,指定profile属性来生成所需要环境下的war包

<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<jdbc.url>jdbc:oracle:thin:@</jdbc.url>
				<jdbc.username>CC</jdbc.username>
				<jdbc.password>CC</jdbc.password>
				<hibernate.hbm2ddl.auto>update</hibernate.hbm2ddl.auto>
				<hibernate.dialect>org.hibernate.dialect.Oracle10gDialect</hibernate.dialect>
				<hibernate.show_sql>true</hibernate.show_sql>
				<hibernate.format_sql>false</hibernate.format_sql>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<jdbc.url>jdbc:oracle:thin:@/jdbc.url>
				<jdbc.username>CC</jdbc.username>
				<jdbc.password>CC</jdbc.password>
				<hibernate.hbm2ddl.auto>update</hibernate.hbm2ddl.auto>
				<hibernate.dialect>org.hibernate.dialect.Oracle10gDialect</hibernate.dialect>
				<hibernate.show_sql>true</hibernate.show_sql>
				<hibernate.format_sql>false</hibernate.format_sql>
			</properties>
		</profile>
	</profiles>

<buile> 指定<filtering> ,可在datasource配置中想用<profile>下的<properties>属性值

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
	</build>

datasource配置中引用pom.xml文件的properties属性

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
</bean>


这样,我们在install项目时,通过-P属性来指定不同的profile,
clean install demo -Pdev --开发环境
clean install demo -Pprod --生产环境


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值