Plugin incompatible with Java 21 - ClassNotFoundException: javax.xml.bind.DatatypeConverter
Environment
- TestComplete Jenkins Plugin version: 2.10
- Jenkins version: 2.555.1
- Java version: 21.0.7
The TestComplete plugin throws a ClassNotFoundException for
javax.xml.bind.DatatypeConverter when running on Java 21.
This causes all TestComplete jobs to fail.
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
Caused: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at PluginClassLoader for TestComplete//com.smartbear.jenkins.plugins.testcomplete.parser.LogNodeUtils.startTimeToTimestamp(LogNodeUtils.java:425)
at PluginClassLoader for TestComplete//com.smartbear.jenkins.plugins.testcomplete.parser.LogParser2.convertSummaryToXML(LogParser2.java:216)
at PluginClassLoader for TestComplete//com.smartbear.jenkins.plugins.testcomplete.parser.LogParser2.parse(LogParser2.java:278)
javax.xml.bind (JAXB) was removed in Java 11 via JEP 320. The plugin
is calling javax.xml.bind.DatatypeConverter in LogNodeUtils.java:425
which no longer exists in Java 11 and above.
Downgrading Java on the node is not possible as the Jenkins controller
is running Java 21 (class file version 65.0) and the node must match it