maven项目动态替换配置中的值

Posted TreeNewBee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven项目动态替换配置中的值相关的知识,希望对你有一定的参考价值。

  为何一些maven项目可以替换配置文件中的变量?

  比如说一个log4j.properties文件中:

logFolder=${log4j.folder}
BufferedIO=${log4j.bufferedIO}
ImmediateFlush=${log4j.immediateFlush}

# 根日志(没有指定自定义logger的会使用此配置)    日志等级阀门在此
#debug
log4j.rootLogger=info,commonLog,errorLog

  变量${log4j.folder}??${log4j.bufferedIO}??${log4j.immediateFlush}??可是我打包后就变成具体的变量了?

    <profiles>
        <profile>
            <id>prod</id>
            <properties>
                <env>prod</env>
                <log4j.folder>/home/logs/</log4j.folder>
                <log4j.bufferedIO>true</log4j.bufferedIO>
                <log4j.immediateFlush>true</log4j.immediateFlush>                
            </properties>
        </profile>
    </profiles>

    <properties>                
        <!-- 默认研发环境 -->
        <env>dev</env>
        <log4j.folder>E:/logs/</log4j.folder>
        <log4j.bufferedIO>false</log4j.bufferedIO>
        <log4j.immediateFlush>false</log4j.immediateFlush>
    </properties>

 

 

  当然了, 需要配置的。参考下面的:

    <!--  
        resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。
     -->
    <build>
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
                
                <!-- 只替换properties文件 
                <includes>  
                    <include>**/*.properties</include>
                </includes>
                 -->
            </resource>
        </resources>
        
    </build>

  不求深入了解。。。

 

  参考:http://blog.csdn.net/xiao_jun_0820/article/details/49864285

以上是关于maven项目动态替换配置中的值的主要内容,如果未能解决你的问题,请参考以下文章

如何用 Maven 属性替换 web.xml 中的值?

从ViewPager android替换片段

RecyclerView 项目中的片段替换

使用maven替换项目依赖中的字节码

Maven过滤属性文件,替换属性值

在RecyclerView项目中替换片段