Affects

  • Customers installing or upgrading to Semarchy xDM version 5.3.4 or above and using the Tomcat application server.

Summary & Application

Semarchy xDM version 5.3.4 introduces a breaking change for users upgrading from prior versions: in order to avoid possible conflicts with other libraries, org.glassfish.javax.json libraries that were traditionally included in previous releases are not shipped with xDM anymore, starting from version 5.3.4.

In scenarios where customers upgrade to version 5.3.4, yet neglect to copy required libraries as instructed, errors may occur:

Image1. Attempted to edit a form in 5.3.4 without required libraries results in an error.

This syntax may appear in the PDE log:

java.lang.NoClassDefFoundError: javax/json/JsonValue

Resolution

1. Copy the following libraries from the  /mdm-server/additional-libraries/ folder of the xDM Server Installation to the <tomcat>/lib/ of your Tomcat application server:

org.glassfish.jakarta.json_*.jar 

2. Additionally, if Tomcat is running with JDK 11, copy the following libraries (same source and destination folders):

# Libraries for Tomcat on JDK 11
 com.sun.activation.jakarta.activation_*.jar
 com.sun.istack.commons-runtime_*.jar
 com.sun.xml.fastinfoset.FastInfoset_*.jar
 jakarta.jws-api_*.jar
 jakarta.xml.bind-api_*.jar
 jakarta.xml.soap-api_*.jar
 org.apache.servicemix.specs.jaxws-api-*.jar
 org.glassfish.jaxb.runtime_*.jar
 org.glassfish.jaxb.txw2_*.jar
 org.jvnet.staxex.stax-ex_*.jar

References

Semarchy Release Notes - MDM-12142 Breaking Change

Semarchy Installation Guide - Apache Tomcat Additional Libraries

How to determine web server

How to determine JDK