我正在测试Jenkins的升级版本(从2.235.1到2.375.1)。我的一个作业在Swarm Client 3.39的Jenkins Agent中运行时失败,并出现以下错误(这在以前的sversion上运行得很好):
在阅读了更多之后,我认为Maven 3和Swarm Client 3.39都有slf 4j依赖性,你们中的任何一个人以前遇到过这个问题吗?https://issues.jenkins.io/browse/JENKINS-42098中报告了类似问题
---------------来自失败Jenkins作业的日志------
`[EnvInject] - Variables injected successfully.
Parsing POMs
Established TCP socket on 46713
maven35-agent.jar already up to date
maven35-interceptor.jar already up to date
maven3-interceptor-commons.jar already up to date
[get-automated-testing] $ /etc/alternatives/jre_11_openjdk/bin/java -Xmx8192m -XX:+UseParallelGC -Duser.language=en -Duser.country=GB -verbose:gc -cp /var/lib/jenkins/maven35-agent.jar:/opt/maven/boot/plexus-classworlds-2.5.2.jar:/opt/maven/conf/logging jenkins.maven3.agent.Maven35Main /opt/maven/ /opt/swarm-client-3.39.jar /var/lib/jenkins/maven35-interceptor.jar /var/lib/jenkins/maven3-interceptor-commons.jar 46713
[0.009s][info][gc] Using Parallel
<===[JENKINS REMOTING CAPACITY]===>channel started
[WARNING] LinkageError while performing UserRequest:hudson.maven.Maven3Builder@64dae73d
java.lang.LinkageError: loader constraint violation: loader org.codehaus.plexus.classworlds.realm.ClassRealm @6acbcfc0 wants to load interface org.slf4j.Logger. A different interface with the same name was previously loaded by org.codehaus.plexus.classworlds.realm.ClassRealm @27bc2616. (org.slf4j.Logger is in unnamed module of loader org.codehaus.plexus.classworlds.realm.ClassRealm @27bc2616, parent loader 'app')
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.apache.maven.cli.event.ExecutionEventLogger.<init>(ExecutionEventLogger.java:69)
at hudson.maven.util.ExecutionEventLogger.<init>(ExecutionEventLogger.java:65)
at hudson.maven.Maven3Builder$MavenExecutionListener.<init>(Maven3Builder.java:375)
at hudson.maven.Maven3Builder$JenkinsEventSpy.<init>(Maven3Builder.java:199)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:119)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:70)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:377)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
ERROR: Failed to parse POMs
java.io.IOException: Remote call on Channel to Maven [/etc/alternatives/jre_11_openjdk/bin/java, -Xmx8192m, -XX:+UseParallelGC, -Duser.language=en, -Duser.country=GB, -verbose:gc, -cp, /var/lib/jenkins/maven35-agent.jar:/opt/maven/boot/plexus-classworlds-2.5.2.jar:/opt/maven/conf/logging, jenkins.maven3.agent.Maven35Main, /opt/maven/, /opt/swarm-client-3.39.jar, /var/lib/jenkins/maven35-interceptor.jar, /var/lib/jenkins/maven3-interceptor-commons.jar, 46713] failed
at hudson.remoting.Channel.call(Channel.java:1004)
at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:877)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526)
at hudson.model.Run.execute(Run.java:1900)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
at hudson.model.ResourceController.execute(ResourceController.java:107)
at hudson.model.Executor.run(Executor.java:449)
Caused by: java.lang.LinkageError: loader constraint violation: loader org.codehaus.plexus.classworlds.realm.ClassRealm @6acbcfc0 wants to load interface org.slf4j.Logger. A different interface with the same name was previously loaded by org.codehaus.plexus.classworlds.realm.ClassRealm @27bc2616. (org.slf4j.Logger is in unnamed module of loader org.codehaus.plexus.classworlds.realm.ClassRealm @27bc2616, parent loader 'app')
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.apache.maven.cli.event.ExecutionEventLogger.<init>(ExecutionEventLogger.java:69)
at hudson.maven.util.ExecutionEventLogger.<init>(ExecutionEventLogger.java:65)
at hudson.maven.Maven3Builder$MavenExecutionListener.<init>(Maven3Builder.java:375)
at hudson.maven.Maven3Builder$JenkinsEventSpy.<init>(Maven3Builder.java:199)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:119)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:70)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:377)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to Channel to Maven [/etc/alternatives/jre_11_openjdk/bin/java, -Xmx8192m, -XX:+UseParallelGC, -Duser.language=en, -Duser.country=GB, -verbose:gc, -cp, /var/lib/jenkins/maven35-agent.jar:/opt/maven/boot/plexus-classworlds-2.5.2.jar:/opt/maven/conf/logging, jenkins.maven3.agent.Maven35Main, /opt/maven/, /opt/swarm-client-3.39.jar, /var/lib/jenkins/maven35-interceptor.jar, /var/lib/jenkins/maven3-interceptor-commons.jar, 46713]
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1000)
at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:877)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526)
at hudson.model.Run.execute(Run.java:1900)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
at hudson.model.ResourceController.execute(ResourceController.java:107)
at hudson.model.Executor.run(Executor.java:449)
channel stopped
[CucumberReport] Using Cucumber Reports version 5.6.1
[CucumberReport] JSON report directory is "get-automated-testing/target"
[CucumberReport] Copied 0 properties files from workspace "/var/lib/jenkins/workspace/Aurora-QA-Integration Testing-E2E/get-automated-testing/target" to reports directory "/var/lib/jenkins/jobs/Aurora-QA-Integration Testing-E2E/builds/1708/cucumber-html-reports/.cache"
[CucumberReport] Copied 0 files from workspace "/var/lib/jenkins/workspace/Aurora-QA-Integration Testing-E2E/get-automated-testing/target" to reports directory "/var/lib/jenkins/jobs/Aurora-QA-Integration Testing-E2E/builds/1708/cucumber-html-reports/.cache"
[CucumberReport] Processing 0 json files:
[CucumberReport] Missing report result - report was not successfully completed
[CucumberReport] Build status is changed to null
Finished: FAILURE`
我的pom中没有sl 4j作为依赖项,但我有以下内容:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
我尝试在上面的两个依赖项中添加provided,但没有任何效果。
有人能帮忙吗?
谢谢你
1条答案
按热度按时间sxpgvts31#
我认为这可能与这个problem有关,它在早期版本中被修复,但回归。我可以让它在maven 3.0.5中工作,但是jmeter(我正在运行)需要至少3.1.1。