close

Filter

loading table of contents...

Release Notes / Version 10.2104

Table Of Contents

Java 11 Support

CMCC runs with Java 11.  Many third party libraries have been updated to Java 11 capable versions.

All JDK changes since Java 8 apply to CMCC. For details see

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html https://www.oracle.com/technetwork/java/javase/9all-relnotes-3704433.html

In particular, existing CMS9 projects are likely to encounter the following issues when migrating to CMCC:

Dependencies

Since Java 11 is modularized, some classes have vanished from the standard runtime environment. In order to compile CMCC, you might need some of the following additional dependencies in your project modules.

<dependency>
   <groupId>jakarta.annotation</groupId>
   <artifactId>jakarta.annotation-api</artifactId>
</dependency>
<dependency>
   <groupId>com.sun.activation</groupId>
   <artifactId>jakarta.activation</artifactId>
</dependency>
<dependency>
   <groupId>jakarta.transaction</groupId>
   <artifactId>jakarta.transaction-api</artifactId>
</dependency>
<dependency>
   <groupId>jakarta.xml.bind</groupId>
   <artifactId>jakarta.xml.bind-api</artifactId>
</dependency>
<dependency>
   <groupId>org.glassfish.jaxb</groupId>
   <artifactId>jaxb-runtime</artifactId>
</dependency>

The necessity of jaxb-runtime turns out only if you (transitively) encounter concrete jaxb-api features. You should always declare this as a runtime dependency together with the jaxb-api dependency.

Order of Collections

The order of collections differs between Java 8 and 11.  If the order is relevant, use Lists or sort before you iterate.

Memory

With Java 11, some components need more memory, which is mainly caused by the GlassFish ORB. If your application suddenly runs out of memory with Java 11,  try with 32M additional heap memory.

(CMS-14538)

Search Results

Table Of Contents