首页 > 代码库 > maven项目动态替换配置中的值
maven项目动态替换配置中的值
为何一些maven项目可以替换配置文件中的变量?
比如说一个log4j.properties文件中:
logFolder=${log4j.folder}BufferedIO=${log4j.bufferedIO}ImmediateFlush=${log4j.immediateFlush}# 根日志(没有指定自定义logger的会使用此配置) 日志等级阀门在此#debuglog4j.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项目动态替换配置中的值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。