maven pom.xml加载不同properties配置[转]

转:http://blog.csdn.net/jbgtwang/article/details/11253911,有增加

 

1.pom.xml

 

===========================

 

<!-- 不同的打包环境配置: test=开发/测试测试环境,  product=生产环境; 命令行方式: mvn clean install -Dmaven.test.skip=true -Ptest 或 -Pproduct-->    

    <profiles>
       <!-- 开发/测试环境,默认激活 -->
       <profile>
           <id>test</id>
           <properties>
              <env>test</env>
           </properties>
           <activation>
              <activeByDefault>true</activeByDefault><!--默认启用的是dev环境配置-->
           </activation>
       </profile>
       <!-- 预发布环境 -->
       <profile>
           <id>preproduction</id>
           <properties>
              <env>preproduction</env>
           </properties>
       </profile>
       <!-- 生产环境 -->
       <profile>
           <id>production</id>
           <properties>
              <env>production</env>
           </properties>
       </profile>
    </profiles>  
 
      <build>
        <filters> <!-- 指定使用的 filter -->
          <filter>src/main/filters/filter-${env}-env.properties</filter>
        </filters>
        <resources>
          <resource> <!-- 配置需要被替换的资源文件路径, db.properties 应该在 src/main/resource 目录下 -->
            <directory>src/main/resources</directory>
            <filtering>true</filtering> <!-- 是否使用过滤器 -->
          </resource>
        </resources>

      </build>

 

 

 

2.src/main/filters/下不同环境的配置文件

 

src/main/filters/filter-preproduction-env.properties

 

src/main/filters/filter-production-env.properties

 

src/main/filters/filter-test-env.properties

 

======filter-test-env.properties 举例

 

jdbc.url=jdbc:mysql://192.168.120.220:3306/testdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
jdbc.username=testuser
jdbc.password=123456

 

 

 

3.src/main/resources下要应用处理的文件

 

src/main/resources/conf/db.properties

 

======db.properties

jdbc.datasource=com.mchange.v2.c3p0.ComboPooledDataSource
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}

jdbc.minPoolSize=10
jdbc.maxPoolSize=50
jdbc.autoCommit=false

 

-----------------------------------

自定义配置属性:

Custom properties in the POM

User defined properties in the pom.xml.

<project>
...
  <properties>
     <my.filter.value>hello</my.filter.value>
  </properties>
...
</project>
  • ${my.filter.value } will result in hello if you inserted the above XML fragment in your pom.xml

再比如:在pom.xml中properties自定义如下:

<properties>
        <springframework_version>3.1.0.RELEASE</springframework_version>
        <maven.bbs.appConfig>itConfig.xml</maven.bbs.appConfig>
    </properties>

 

在web容器加载的时候,假如spring监听的配置文件是:applicationContext.xml,那么applicationContext.xml文件内容可以这样写来引入maven的properties属性值:

<import resource="${maven.bbs.appConfig}"/>

maven编译过后,targer项目里面的applicationContext.xml里面相应的引入就会变成

<import resource="itConfig.xml"/>

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值