Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
Description
Hi,
Not sure if I am the only one person having this issue, but seems the Checkmarx plugin (v8.90.4) is not compatible with JDK11 and encountering with below error when it tries to generate/parse the report on Jenkins-jdk11 v2.204.2
[Cx-Error]: Failed to get SAST scan results: com.cx.restclient.exception.CxClientException: Failed to parse xml report: Implementation of JAXB-API has not been found on module path or classpath.
The below option (adding below as environment variable JAVA_OPTS) also did not work
-Djavax.xml.bind.JAXBContextFactory=com.sun.xml.bind.v2.ContextFactory
Seems this is related to this issue https://issues.jenkins-ci.org/browse/JENKINS-59301 but for different (Crowd2) plugin.
Here are my versions:
Checkmarx Plugin - 8.90.4
Jenkins - 2.204.2
Jenkins-JDK - OpenJDK11
openjdk 11.0.7 2020-04-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.7+10-LTS)
OpenJDK Server VM 18.9 (build 11.0.7+10-LTS, mixed mode, sharing)
Workaround Fix that works (manual):
I've copied the JAXB-Implementation and its dependencies from JENKINS_HOME/plugins/jaxb/lib/jaxb* to JENKINS_HOME/war/WEB-INF/lib {{as }}these are the libraries of the implementation that formerly was part of the JDK8
Thanks
Saikiran
If Jenkins is running fine on Java 11 then it's just the plugin needs to adapt to Java 11. It may be helpful:
https://wiki.jenkins.io/display/JENKINS/Java+11+Developer+Guidelines#Java11DeveloperGuidelines-DevelopandtestyourpluginforrunningonJava11