您的位置:首页 > 其它

Maven filter 配置的使用

2015-10-31 15:39 183 查看
  目标 通过 Maven 的 filters 机制对不同环境(开发、预发布、生产)应用不同的配置信息   步骤 1. 首先需要配置 profile 信息,在不同的 profile 中指定变量 “env”为不同的值
<profiles>
<!-- 开发/测试环境,默认激活 -->
<profile>
<id>debug</id>
<properties>
<env>debug</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault><!--默认启用的是debug环境配置-->
</activation>
</profile>
<!-- 预发布环境 -->
<profile>
<id>staging</id>
<properties>
<env>staging</env>
</properties>
</profile>
<!-- 生产环境 -->
<profile>
<id>online</id>
<properties>
<env>online</env>
</properties>
</profile>
</profiles>
  2. 生成不同环境的配置文件 在 src/main/filters/ 目录下分别创建三个配置文件 filters.debug.properties filters.staging.properties filters.online.properties 配置文件中以 key=value 的形式配置一些参数信息,如:
database.driverClassName=com.mysql.jdbc.Driver
database.url=jdbc:mysql://127.0.0.1:8066/testdb?createDatabaseIfNotExist=true&amp;useUnicode=true
database.userName=username_for_debug
database.password=password_for_debug
  3. 配置 Maven 编译时的过滤规则 在工程的 pom.xml 中添加如下配置信息
<build>
<filters>
<filter>src/main/filters/filters.${env}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
  4. 在资源文件中引用 filters 文件中配置的参数 这里以在 spring 配置文件中的使用举例说明
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${database.driverClassName}"/>
<property name="jdbcUrl" value="${database.url}"/>
<property name="user" value="${database.userName}"/>
<property name="password" value="${database.password}"/>
。。。
</bean>
  5.编译工程 我们在编译的时候需要指定 profile 信息,以便 Maven 找到对应的 filters 文件进行过滤。具体的编译命令如下,最后一个参数指定了编译的 profile 是 debug:
mvn clean package -pl com.bibithink.fooservice -am -Dmaven.test.skip -Pdebug
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: