您可以使用$ {variablename}语法在log4j配置文件中使用系统属性。
您是否可以在其中包含Eclipse变量(如项目名称)和Maven变量(如工件ID),并在相应的构建过程中替换它们?
答案 0 :(得分:6)
您是否可以在其中包含Eclipse变量(如项目名称)和Maven变量(如工件ID),并在相应的构建过程中替换它们?
对于后来的(Maven变量),您可以使用resources filtering。通过向您的POM添加<filtering>
元素并将其设置为true
来激活它:
<project>
...
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
...
</resources>
...
</build>
...
</project>
现在,资源文件中使用的任何Maven属性(如${project.artifactId}
)都会被其值替换。您可以定义includes
/ excludes
以更好地控制要过滤的资源。有关示例,请参阅上面的链接。
对于前者(Eclipse变量),Maven并不知道它们,所以很明显,这个解决方案不起作用,我实际上建议坚持使用Maven过滤(Maven构建应该是参考)。
如果您正在使用m2eclipse,这将在Eclipse内部透明地工作。