SAP Knowledge Base Article - Public

2496553 - Which version of Crystal Reports Server Embedded OEM will be compatible with Java 9?

Symptom

  • Which version of Crystal Reports Server Embedded OEM will be compatible with Java 9?
  • Will Java 9 be supported by CRYSTAL REPORTS SERVER EMBEDDED OEM 2016?
  • The following warning occurs: "Warning: JDK internal APIs are unsupported and private to JDK implementation that are
    subject to be removed or changed incompatibly and could break your application.
    Please modify your code to eliminate dependence on any JDK internal APIs.
    For the most recent update on JDK internal API replacements, please check:
    https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Too"

Environment

  • CRYSTAL REPORTS SERVER EMBEDDED OEM 2016
  • JDK 1.9

Reproducing the Issue

  • Run Java custom application based on the unmanaged RAS Crystal Reports Server Embedded SDK using JDK 1.9
  • Notice that the following warning occurs; "Warning: JDK internal APIs are unsupported and private to JDK implementation that are
    subject to be removed or changed incompatibly and could break your application.
    Please modify your code to eliminate dependence on any JDK internal APIs.
    For the most recent update on JDK internal API replacements, please check:
    https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool"

Cause

  • JDK 1.9 removed internal depencies API needed by CrystalReportsSDK.jar

   CrystalReportsSDK.jar                                                 -> JDK 1.9 removed internal API
   com.crystaldecisions.ReportViewer.OSXPlatformAdapter -> com.apple.eawt.Application (JDK internal API (JDK removed internal API)
   com.crystaldecisions.ReportViewer.OSXPlatformAdapter -> com.apple.eawt.ApplicationAdapter (JDK internal API (JDK removed internal API)
   com.crystaldecisions.ReportViewer.OSXPlatformAdapter -> com.apple.eawt.ApplicationEvent (JDK internal API (JDK removed internal API)
   com.crystaldecisions.ReportViewer.OSXPlatformAdapter -> com.apple.eawt.ApplicationListener (JDK internal API (JDK removed internal API)
   com.crystaldecisions.ReportViewer.OSXPlatformAdapter -> com.apple.eio.FileManager (JDK internal API (JDK removed internal API)

Resolution

  • At the time this KBA is written, Java 9 is not released yet.
  • Acccording to this site, Java 9 will be released in July 2017: https://www.theregister.co.uk/2016/09/14/jdk_9_release_delay/
  • Currently, Java 9 is not supported by any versions of Crystal Reports Server Embedded OEM
  • Before Upgrading to Java 9, the Product Availability Matrix (PAM) for the Product version, has to be consulted first to check whether Java 9 is supported or not

 

Keywords

crystal reports server embedded oem; crystal reports server; oem; java 9; jdk 1.9; java; jdk , KBA , BI-DEV-JAV , BI Software Development Kits (SDKs) - Java , Problem

Product

SAP Crystal Reports Server, OEM edition all versions