Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.NoClassDefFoundError: org/jdom2/JDOMException (WORKAROUND) #136

Open
lachlanodonnell opened this issue Mar 18, 2023 · 2 comments

Comments

@lachlanodonnell
Copy link

Workaround by patching jdom2-2.0.6.1.jar into teamcity agent plugin's lib directory inside the teamcity plugin.

Using release process on TeamCity Professional 2022.10.2 (build 117025). The following stack trace was produced.

java.lang.NoClassDefFoundError: org/jdom2/JDOMException at org.jfrog.teamcity.agent.listener.AgentListenerReleaseHelper.changePomVersions(AgentListenerReleaseHelper.java:139) at org.jfrog.teamcity.agent.listener.AgentListenerReleaseHelper.runnerFinished(AgentListenerReleaseHelper.java:90) at org.jfrog.teamcity.agent.ArtifactoryAgentListener.runnerFinished(ArtifactoryAgentListener.java:135) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at jetbrains.buildServer.util.EventDispatcher.invokeListeners(EventDispatcher.java:157) at jetbrains.buildServer.util.EventDispatcher.lambda$dispatch$0(EventDispatcher.java:134) at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:76) at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:134) at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:82) at com.sun.proxy.$Proxy24.runnerFinished(Unknown Source) at jetbrains.buildServer.agent.impl.buildStages.runnerStages.finish.FireRunnerFinishedFStage.doFinishStage(FireRunnerFinishedFStage.java:31) at jetbrains.buildServer.agent.impl.buildStages.RunnerFinishStagesExecutor.runFinishStage(RunnerFinishStagesExecutor.java:32) at jetbrains.buildServer.agent.impl.buildStages.RunnerFinishStagesExecutor.doBuildFinishStages(RunnerFinishStagesExecutor.java:23) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.safeCallFinishStages(RunnerContextExecutor.java:65) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.callRunnerStages(RunnerContextExecutor.java:56) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.StepExecutor.processNextStep(StepExecutor.java:25) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeRunnerStep(ForEachBuildRunnerStage.java:177) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.runStep(ForEachBuildRunnerStage.java:162) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeBuildRunners(ForEachBuildRunnerStage.java:112) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.doBuildStage(ForEachBuildRunnerStage.java:52) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:33) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:24) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:76) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:35) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages(BuildStagesExecutor.java:24) at jetbrains.buildServer.agent.impl.BuildRunActionImpl.doStages(BuildRunActionImpl.java:91) at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:65) at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:345) at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:63) at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:294) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.ClassNotFoundException: Class 'org.jdom2.JDOMException' was not found

@mindruandrei3
Copy link

mindruandrei3 commented Jun 28, 2023

Hello,

I am facing the same issue with one Teamcity job, on Teamcity Enterprise version 2023.05.
Could you tell me exactly in which plugin directory did you copy the jdom2 library? I tried copying it in the build agent's home/library path and in the job's workspace directory but with no success.

Regards,
Andrei

@lachlanodonnell
Copy link
Author

I did it originally by patching the artifactory teamcity plugin zip with the jar in the agent lib directory, then zipping with a new version number. On my server the directory that jdom2 ended up in is:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants