-
Bug
-
Resolution: Fixed
-
Major
JAXB dependencies seems to be missing on classpath, while using jenkins/jenkins:jdk11:
hudson.remoting.ProxyException: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.xml.bind/javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:122) at java.xml.bind/javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:155) at java.xml.bind/javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:276) Caused: hudson.remoting.ProxyException: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath. - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory] at java.xml.bind/javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:278) at java.xml.bind/javax.xml.bind.ContextFinder.find(ContextFinder.java:421) at java.xml.bind/javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721) at java.xml.bind/javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662) at retrofit2.converter.jaxb.JaxbConverterFactory.contextForType(JaxbConverterFactory.java:74) Caused: hudson.remoting.ProxyException: java.lang.IllegalArgumentException: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath. - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory] at retrofit2.converter.jaxb.JaxbConverterFactory.contextForType(JaxbConverterFactory.java:76) at retrofit2.converter.jaxb.JaxbConverterFactory.responseBodyConverter(JaxbConverterFactory.java:67) at retrofit2.Retrofit.nextResponseBodyConverter(Retrofit.java:330) at retrofit2.Retrofit.responseBodyConverter(Retrofit.java:313) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:739) Caused: hudson.remoting.ProxyException: java.lang.IllegalArgumentException: Unable to create converter for class de.tsystems.mms.apm.performancesignature.dynatrace.rest.xml.model.LicenseInformation for method CustomXMLApi.getServerLicense at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:755) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:741) at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:172) at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:170) at retrofit2.Retrofit$1.invoke(Retrofit.java:147) at com.sun.proxy.$Proxy85.getServerLicense(Unknown Source) at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.getServerLicense(DTServerConnection.java:253) Caused: hudson.remoting.ProxyException: de.tsystems.mms.apm.performancesignature.dynatrace.rest.xml.CommandExecutionException: error while querying server license: Unable to create converter for class de.tsystems.mms.apm.performancesignature.dynatrace.rest.xml.model.LicenseInformation for method CustomXMLApi.getServerLicense at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.getServerLicense(DTServerConnection.java:256) at de.tsystems.mms.apm.performancesignature.dynatrace.PerfSigStartRecording.perform(PerfSigStartRecording.java:89) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:80) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:67) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:51) at hudson.security.ACL.impersonate(ACL.java:290) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:48) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 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:834)
- is blocked by
-
JENKINS-56265 JAXBException: Implementation of JAXB-API has not been found
-
- Resolved
-
- is related to
-
JENKINS-56265 JAXBException: Implementation of JAXB-API has not been found
-
- Resolved
-
- relates to
-
JENKINS-51965 Add support of JAXB unpackaging for Java 9+ in WAR Exploder
-
- Closed
-
-
JENKINS-55681 Release the JAXB Plugin
-
- Resolved
-
I am about the same, just that I used the system property over the jaxb.properties file. Result is the same.
I'm afraid this is because of the fact that the JAXB requirement is not in the plugin but in th Retrofit2 library used by the plugin.
I tested the same configuration on the Sloccount plugin and it's working fine on this plugin. I run in both case mvnDebug -Djenkins.version=2.164.1 -Djavax.xml.bind.context.factory=com.sun.xml.bind.v2.ContextFactory hpi:run (with -pl dynatrace-appmon here) and for sloccount I could get it to work fine (not going into the catch here) and in Performace Signature Dynatrace I still have the same exception.
The "only" difference between the two plugins is that JAXB is a transitive dependency here but not in Sloccount plugin. It makes no sense. I can see in both case the JAXB plugin installed on the instance. I can even run import com.sun.xml.bind.v2.ContextFactory; in the script console of both instances and it's working fine.