覆盖maven中的系统属性

时间:2014-07-10 12:17:43

标签: java maven logback system-properties maven-profiles

我有一个带有几个配置文件的Web应用程序 - 用于生产和本地测试; 使用maven执行构建; logback用于记录

所以有些日志会写入文件 - 问题是: 在生产中我们使用tomcat和CATALINA_HOME设置在服务器上, 但在本地我们经常使用jetty,所以甚至可能没有配置tomcat

所以在prod中我想以这种方式写入登录文件: $ {的catalina.home} /logs/profiler.%d {YYYY-MM-DD}的.log

如何设置maven覆盖此$ {catalina.home}属性

  1. 如何从maven设置它(我需要系统属性还是maven属性)
  2. 我可以让它有条件吗? (如果未在本地系统上设置,则使用该属性 在#1)中定义
  3. 非常感谢! 塔蒂亚娜。

1 个答案:

答案 0 :(得分:0)

您可以定义专家property,说log.dir并在每个profile中将其设置为适当的值。

说,

    <profile>
        <id>dev</id>
        <properties>
            <log.dir>${catalina.home}/...</log.dirv>
        </properties>
    </profile>