Essential Planning and Migration Considerations

The Eclipse environment has been upgraded from Eclipse Oxygen to Eclipse 4.23, aligning with the latest platform capabilities. This update modernizes the underlying tools while maintaining existing development workflows. However, changes in compiler behavior, validation rules, and platform-level dependencies introduced in Eclipse 4.23 require ZIETrans developers to review and address potential impacts on their development and deployment environments as outlined in this document.

  1. Java 17 Support.

    Default Compiler Compliance Level By default, the IDE Windows Preferences sets the compiler compliance level to 17. Before ZIETrans v10, this level was typically 1.8 or lower.

    Migrating the older ZIETrans project to v10The ZIETrans toolkit will automatically perform the project migration. However, if your application uses any custom Java API that has been deprecated in JDK 17, you have two options:

    Option 1: Update Code- Rewrite the logic to explicitly support JDK 17.

    Option 2: Adjust Java SE Support - More details are provided in step 3 below.

  2. Deployment to Application Servers with Java SE 8 Support.

    If you plan to deploy a ZIETrans v10 web project to an application server that uses Java SE 8 (JRE 1.8 or another version), you must adjust the compliance level before exporting the ZIETrans EAR file. More details in step 3 below.

  3. Running ZIETransv10 projects in the Java SE8 or lower supported runtime environment.
    Action Required:
    1. Navigate to Windows ➔ Preferences ➔ Compiler.
    2. Update the Compiler compliance level to the appropriate version (e.g., 1.8).
    3. Select Apply and Close.
    4. Right-click on the ZIETrans project and select Properties.
    5. Select Project Facets and verify Dynamic Web Module and Java version. For a Java EE 8 deployment, the ‘Dynamic Web Module’ and ‘Java version’ should be 4.0 and 1.8, respectively. Similarly, for a Java EE 7 deployment, the ‘Dynamic Web Module’ and ‘Java version’ should be set to 3.0 and 1.7, respectively.
    6. Verify EAR\application.xml file. For a Java EE 8 deployment, the application version will be 8 and ‘schemaLocation’ should refer to ‘application_8.xsd’. Similarly, for a Java EE7 deployment, the application version will be 7 and ‘schemaLocation’ should refer to ‘application_7.xsd’.

    IBM WebSphere Application Server often utilizes Java SE 8, making these steps necessary for deployment to that environment.

  4. Recommendation to use .jks instead of .p12 format for secure session using ZIETrans.

    When the p12 file is used, ZIETrans implements IBM SSLite functions. The SSLite is not compatible with the updated encryption used with TLS, but suits well for SSL-like connections. For the updated encryption or TLSv1.0 onwards, it is recommended to use a .jks keystore. ZIETrans uses Java Secure Socket Extension (JSSE) to support TLSv1.0 and onwards.

    When using the Java Keytool, convert the existing .p12 to .jks:
    keytool -importkeystore -srckeystore ExisitngFilename.p12 -srcstoretype PKCS12 -destkeystore NewFilename.jks -deststoretype JKS -deststorepass newPwd
    Verify the content of the newly created .jks file. E.g.,
    keytool -list -v -keystore NewFilename.jks -storepass newPwd
  5. IBM JSON library not available in the IBM Websphere Liberty deployment.

    After Liberty 24.0.0.10+ and 25.x, the com.ibm.json.java (JSON4J) is no longer automatically included in the Liberty runtime. At runtime, you may see the error ‘java.lang.NoClassDefFoundError com.ibm.json.java’.

    To resolve the issue, open the server.xml and add <feature>json-1.0</feature> in the featureManager section.

  6. Error NoClassDefFoundError JWKSKeySelector when deploying ZIETrans OIDC Support in IBM WebSphere Application Server.
    When using the ZIETrans OIDC feature, the IBM WAS deployment may report this error- ‘java.lang.NoClassDefFoundError: com.nimbusds.jose.proc.JWSKeySelector’. To resolve this issue, update the Class Loader policy of the deployed application as shown below:

  7. Project Explorer view to replace the Navigator view

    Eclipse has formally deprecated the navigator view. As a result, in the ZIETrans toolkit, the navigator view has been replaced with the Project Explorer view, which provides a similar set of features and is the recommended default for navigating project files.