如果在现在的项目中,需要切换数据库连接配置,使用Maven Profile来配置,可以按如下步骤来进行修改。
(1)在 pinyougou-dao 工程中 src/main/resources 下创建 filter 文件夹
(2)filter 文件夹下创建 db_dev.properties ,用于配置开发环境用到的数据库
env.jdbc.driver=com.mysql.jdbc.Driver env.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb?characterEncoding=utf-8 env.jdbc.username=root env.jdbc.password=123456
(3)filter 文件夹下创建 db_pro.properties
env.jdbc.driver=com.mysql.jdbc.Driver env.jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb_pro?characterEncoding=utf-8 env.jdbc.username=root env.jdbc.password=123456
(4)修改 properties 下的 db.properties
jdbc.driver=${env.jdbc.driver} jdbc.url=${env.jdbc.url} jdbc.username=${env.jdbc.username} jdbc.password=${env.jdbc.password}
接下来开始定义Profile,修改pom.xml文件
<properties> <env>dev</env> </properties> <profiles> <profile> <id>dev</id> <properties> <env>dev</env> </properties> </profile> <profile> <id>pro</id> <properties> <env>pro</env> </properties> </profile> </profiles>
这里定义了 2 个 profile,分别是开发环境和生产环境
接着继续修改pom.xml,在build节点中添加如下配置:
<filters> <filter>src/main/resources/filters/db_${env}.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>
这里我们利用 filter 实现对资源文件(resouces) 过滤maven filter 可利用指定的xxx.properties 中对应的key=value 对资源文件中的${key}
进行换,最终把资源文件中的 username=${key}
替换成 username=value。
打包
在 pinyougou-dao 工程 执行命令:package -P pro , 解压生成的 jar 包,观察db.properties 配置文件内容,已经替换为生产环境的值。
在 pinyougou-sellergoods-service 工程 执行命令 pageage ,解压生成的 war 包里的pinyougou-dao 的 jar 包,发现也是生成环境的值。
测试
【1】连接生产数据库
(1)在 pinyougou-dao 工程执行命令:install -P pro
(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run
(3)在 pinyougou-shop-web : 执行命令:tomcat7:run
【2】连接开发数据库
(1)在 pinyougou-dao 工程执行命令:install -P dev (或 install )
(2)在 pinyougou-sellergoods-service:执行命令:tomcat7:run
(3)在 pinyougou-shop-web : 执行命令:tomcat7:run