您可以使用 ${variablename} 语法在 log4j 配置文件中使用系统属性。
您是否也可以在其中包含 Eclipse 变量(如项目名称)和 Maven 变量(如工件 ID),并在各自的构建过程中替换它们?
您可以使用 ${variablename} 语法在 log4j 配置文件中使用系统属性。
您是否也可以在其中包含 Eclipse 变量(如项目名称)和 Maven 变量(如工件 ID),并在各自的构建过程中替换它们?
您是否也可以在其中包含 Eclipse 变量(如项目名称)和 Maven 变量(如工件 ID),并在各自的构建过程中替换它们?
对于后面的(Maven 变量),可以使用资源过滤。通过向您的 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 中透明地工作。