1

我正在使用 Jenkins,并且我将一台 Windows 机器设置为奴隶工人。我有一个在从属设备上运行的基于 Maven 的项目。构建工作正常,但我从 log4j 收到关于它未初始化的警告。我想搔痒并消除警告,但我不知道怎么做。

我对 log4j 不是很熟悉。我明白我可以设置一个系统属性来告诉它在哪里可以找到配置文件,但我不知道应该在 Jenkins 管道中的哪个位置或如何设置该属性。看起来警告出现在 Maven 启动之前但在奴隶开始工作之后。

这是控制台输出的片段:

Parsing POMs
[MyTest] $ java -cp C:\jenkins\maven3-agent.jar;C:\jenkins\tools\Maven\Maven\boot\plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main C:\jenkins\tools\Maven\Maven C:\Users\waisbrot\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\28\5c50da9c-2d1a9aef C:\jenkins\maven3-interceptor.jar 49210
<===[JENKINS REMOTING CAPACITY]===>channel started
log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
Executing Maven:  -B -f C:\jenkins\workspace\MyTest\pom.xml test
[INFO] Scanning for projects...
4

2 回答 2

1

我对此并不特别自豪,但我对任何闲聊都不感兴趣,所以我通过这样做来压制它

jar uf <path to maven3-agent-1.2.jar>/maven3-agent-1.2.jar log4j.xml

其中log4j.xml包含

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <root>
    <level value="off"/>
  </root>
</log4j:configuration>

注意:jar命令必须如图所示log4j.xml在当前目录中执行。

于 2013-04-16T17:49:36.413 回答
0

只需在类路径中提供具有有效内容的 log4j.properties 或 log4j.xml。有关详细信息,请参阅 log4j 文档

于 2013-03-19T08:45:58.493 回答