在开发时,不同的环境总会使用到不同的配置。如本地,测试,预发布,发布等环境,像数据库这些都要使用到不同的配置。如果手动改的话肯定会十分的麻烦。
还好maven提供的功能能够帮我们解决这个问题。
我们通过不同环境使用不同数据库的配置来说明
直接上代码:
1.db.properties
jdbc.username=${jdbc.username}jdbc.password=${jdbc.password}jdbc.url=${jdbc.url}name=${myName}
2.dev.properties
jdbc.url=jdbc:mysql://127.0.0.1:3306/devdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNulljdbc.username=devuserjdbc.password=dev123456
3.product.properties
jdbc.url=jdbc:mysql://127.0.0.1:3306/productdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNulljdbc.username=productuserjdbc.password=product123456
4.test.properties
jdbc.url=jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNulljdbc.username=testuserjdbc.password=test123456
5.pom.xml
4.0.0 mavenImparityProfile mavenImparityProfile war 1.0-SNAPSHOT mavenImparityProfile Maven Webapp http://maven.apache.org junit junit 3.8.1 test test test 张三 true dev dev 李四 false product product mavenImparityProfile src/main/resources/properties/${env}.properties src/main/resources true
其实现主要是通过配置frofile来实现。上面配置了3个环境(test,dev,product)。test环境是默认激活的。
我们直接执行 deploy 则使用的是test的配置。
如果要使用product的配置,则使用maven的命令 mvn clean package -P product (注:-P要大写 -P后面的参数是我们前面定义不同环境的id。如果你使用的是idea工具,在配置run的时候不用写mvn这个参数)
附录:
如果要配置jenkins,其他的参数配置不变,只需要修改maven的命令
这里是发布product环境