An integration using 'sun.misc.BASE64Encoder' class is no longer working after upgrading to Clarity PPM 15.5.1

book

Article ID: 131373

calendar_today

Updated On:

Products

CLARITY PPM FOR ITG CLARITY PPM FEDERAL Clarity PPM SaaS - Application Clarity PPM On Premise

Issue/Introduction

After upgrading to Clarity PPM 15.5.1 (and upgrading Java to version 11), an integration or custom development that was using the 'sun.misc.BASE64Encoder' class is no longer working.

Cause

This class is an undocumented Oracle Java class (not a Clarity PPM class) that is not part of the public interface and that should not be used:
https://www.oracle.com/technetwork/java/faq-sun-packages-142232.html.

Oracle introduced alternative public classes as part Java 8 (https://docs.oracle.com/javase/8/docs/api/index.html?java/util/Base64.Encoder.html) and removed these unsupported classes in Java 9.

Clarity PPM 15.5.1 requires Java 11, so the 'sun.misc.BASE64Encoder' class is not provided by Java anymore.

 

Environment

Release:
Component: PPMENV

Resolution

Use the appropriate supported class from Oracle when using Java 11:

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Base64.Encoder.html