web项目,很多时候,我都是把数据库连接配置在db.properties。开发环境、生产环境的数据库通过手工注释来切换。
坏处主要是开发能够看到生产的数据库环境,不能隔离。解决思路就是把配置文件修改为配置。比如:
db.jplat.url=${db.jplat.url}
db.jplat.username=${db.jplat.username}
db.jplat.password=${db.jplat.password}
然后在pom文件里面配置开发的profile,在jenkins环境或者其他打包环境的.m2/settings.xml配置生产环境的profile。
pom里面的配置如下:
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<db.jplat.url>jdbc:oracle:thin:@10.130.0.XXX:1521:aaakm</db.jplat.url>
<db.jplat.username>XXX</db.jplat.username>
<db.jplat.password>XXX</db.jplat.password>
</properties>
</profile>
jenkins里面的配置如下:
<profile>
<id>100</id>
<properties>
<db.jplat.url>jdbc:oracle:thin:@10.0.100.XXX:1521:XXX</db.jplat.url>
<db.jplat.username>XXX</db.jplat.username>
<db.jplat.password>XXX</db.jplat.password>
</properties>
</profile>
生产环境打包就使用命令 install -P 100,而开发环境默认是使用的pom中的配置,也看不到生产环境的配置。这样做就成功的实现了环境配置隔离。