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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM