我有这样的pom.xml:
<project>
...
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
内部 “的src /主/资源/”,我有这个文件的log4j.xml。
...
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
<param name="File" value="${user.home}/myApp/myLog.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="INFO"/>
<param name="DatePattern" value="_yyyy-MM'.log'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c:%L] %m%n"/>
</layout>
</appender>
...
我的问题是,当我做$ MVN干净的安装,在$ {}的user.home被翻译成
<param name="File" value="C:\\Users\\myUser/myApp/myLog.log"/>
所以,我怎么能忽略这种情况$ {}的user.home留在目标目录中使用相同的$ {user.home},因为log4j需要知道任何运行我的应用的机器的用户目录。
注:我也想澄清,我有更多的资源文件必须过滤。
感谢您的帮助提前。
感谢您的回答,但不包括将log4j.xml文件复制到我的目标目录。 – j2gl 2014-09-25 16:14:07
对不起,我的错。你需要什么我有两个资源块,src/main/resources。在第一个块有过滤true和排除log4j.xml,并在第二个块有过滤false和包括log4j.xml – 2014-09-25 16:17:45
我已经更新了我的答案 – 2014-09-25 16:53:37