maven中mysql的配置文件路径_Maven项目多环境之间的配置文件的切换

前言:对于一个项目,开发和生产环境之间会使用不同的配置文件,最简单的例子就是数据库连接池的配置了。当然,可以在打包上线前对配置文件进行替换,不过这也太low了吧。

简单的pom.xml中的配置内容

比如我们在maven项目中引入了内嵌式的tomcat插件(当然打包方式是要war包),如下代码

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

8821

/

45921c141460f126764c4afb5d542240.png

指定了端口号是8821,启动项目后(在idea右边的maven project),就可以使用8821端口访问。

fd8e6eedfc6150ab913788da8f276c47.png

8821是我们开发的端口,如果我们想打包上传到服务器,然后就修改这个端口为8891。

首先在pom.xml使用properties标签来定义端口号

b7d96bd1e39559e2b4a55d7495c547c5.png

然后就创建多个环境,多个环境对tomcat_port这个属性进行定义

dev

8821

pro

8821

然后修改我们的tomcat7系列的maven命令,在后边添加参数:

-P 环境id,在idea中,右键这个maven命令,就可以设置了

59bf3e591e7b386da27eeb9669dfc1cc.png

6652a5780cfbbd1e90bc9a3058d332e1.png

设置完后,点击运行,

64a48f815dac6039e80952859f0e4883.png

除了tomcat:run 外,其他的maven命令,如:

package -P dev

install -P pro

这些都是可以的。

不同环境下使用不同的数据库配置文件

和上边的方法类似,不同的是它会引入项目中的properties配置文件

首先,src/main/resources下创建dbprops文件夹,在这个文件夹下创建一个db_dev.properties,内容如下:

#这个env前缀可以自定义,也可以不用

env.jdbc.driver=com.mysql.jdbc.Driver

env.jdbc.url=jdbc:mysql://localhost:3306/tb_dev?characterEncoding=utf-8

env.jdbc.username=dev

env.jdbc.password=dev

也创建一个db_pro.properties

#这个env前缀可以自定义,也可以不用

env.jdbc.driver=com.mysql.jdbc.Driver

env.jdbc.url=jdbc:mysql://localhost:3306/tb_pro?characterEncoding=utf-8

env.jdbc.username=pro

env.jdbc.password=pro

然后,修改我们src/main/resources下的db.properties配置文件,这个配置文件就是我们之前的数据库连接配置文件(因为datasource中指定的路径就是这个配置文件)

#之前写的是确定的地址,这回就使用变量

jdbc.driver=${env.jdbc.driver}

jdbc.url=${env.jdbc.url}

jdbc.username=${env.jdbc.username}

jdbc.password=${env.jdbc.password}

在pom.xml中添加属性

dev

在pom.xml中定义profile

dev

dev

pro

pro

在build标签中添加一个filters和resource指令

src/main/resources/dbprops/db_${db_env}.properties

src/main/resources

true

好了,我们这使用指定打包

package -P pro

然后用触压生成的war包,打开WEB-INF\classes\db.properties文件可以看到

ef4df007c78ae5dbc2e5fb003a9aba11.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值