美文网首页
maven 打包时动态替换properties资源文件中的配置值

maven 打包时动态替换properties资源文件中的配置值

作者: wyatt_plus | 来源:发表于2017-05-26 00:15 被阅读0次

    pom build节点下面添加resource配置:

    <resources>  
               <resource>  
                   <directory>src/main/resources/</directory>  
                   <filtering>true</filtering>  
                   <includes>  
                       <include>**/*.properties</include>  
                   </includes>  
               </resource>  
               <resource>  
                   <directory>src/main/resources/</directory>  
                   <filtering>false</filtering>  
                   <includes>  
                       <include>**/*.xml</include>  
                   </includes>  
               </resource>  
      </resources>  
    

    resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。
    上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。
    接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:

    <profiles>  
            <profile>  
                <id>dev</id>  
                <properties>  
                    <jest.urls>http://n2:9200,http://n4:9200</jest.urls>  
                </properties>  
                <activation>  
                    <activeByDefault>true</activeByDefault>  
                </activation>  
            </profile>  
      
            <profile>  
                <id>production</id>  
                <properties>  
                    <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>  
                </properties>  
            </profile>  
        </profiles>  
    

    我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:

    jest.urls=${jest.urls}
    

    然后我们执行maven打包命令:

    clean package -DskipTests -Pdev
    

    查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。

    相关文章

      网友评论

          本文标题:maven 打包时动态替换properties资源文件中的配置值

          本文链接:https://www.haomeiwen.com/subject/zvbzxxtx.html