首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Hudson的env.EXECUTOR_NUMBER传递给log4j属性和Java的System.getProperty

如何将Hudson的env.EXECUTOR_NUMBER传递给log4j属性和Java的System.getProperty
EN

Stack Overflow用户
提问于 2011-08-11 10:20:28
回答 1查看 711关注 0票数 2

我的Hudson作业调用一个XML数据库集合和一个日志文件。例如。

  • /db/project
  • ${user.home}/log/logging.log

为了避免并发执行冲突,我希望将Hudson的env.EXECUTOR_NUMBER注入这两条路径。例如。

  • /db/project {$EXECUTOR_NUMBER}
  • {$user.home}/logs /logs

我发现了以下情况:

  • 哈德逊遗址指出,作为构建目标的一部分,我需要将Hudson的EXECUTOR_NUMBER传递给Maven。
  • Log4J只能使用系统变量。而不是环境变量(因为这是一个特定于平台的概念)

现在我已经在构建目标中指定了Hudson的EXECUTOR_NUMBER变量,如何将其用作Log4J和Java的System.getProperties()类使用的系统属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-11 10:27:52

您可以使用-D语法将传递给任何Java进程。

代码语言:javascript
复制
mvn clean install -DEXECUTOR_NUMBER={$EXECUTOR_NUMBER}

对于分叉运行中的测试类,还必须配置强制插件以将系统属性传递给分叉vm:

代码语言:javascript
复制
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
      <systemPropertyVariables>
        <EXECUTOR_NUMBER>${EXECUTOR_NUMBER}</EXECUTOR_NUMBER>
      </systemPropertyVariables>
    </configuration>
  </plugin>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7024202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档