This document discusses migrating applications from Java 8 to later versions of Java such as Java 11 and Java 12. It outlines changes in the Java timeline including features added in versions 9 through 13. Major changes include modules, removed packages and methods, and behavior changes. The document recommends using scanning tools to analyze applications for migration issues and references additional resources on the Java migration.
20. 20ORACLE CODE ONE 2019
Application Source Scanner Tool
• Download: http://ibm.biz/WAMT4Eclipse
• Eclipse Plugin
• Scans application source code
• Flags potential migration issues for a variety of scenarios including Java SE versions
• Click-and-go to affected code line
• Documentation
• See Chapter 3-4 for installation details
22. 22ORACLE CODE ONE 2019
Java class dependency analyzer (Jdeps)
• Command utility shipped with JDK
• Various Options
• Migration Relevant Option: -jdkinternals
• Accepts jars, class files, directories
• Binary scanner and source scanner will recommend if applicable
• Limitations
• Subset of removed APIs
• No method removal flagging
• Java version specific (i.e. running Jdeps shipped with Java 8 is different than Java 11)
• Documentation
23. 23ORACLE CODE ONE 2019
TL;DR
1. Download the Application Binary scanner: http://ibm.biz/WAMT4AppBinaries
2. Follow the prompts to install the jar.
3. Run the binary scanner against your application binaries. Here is my command:
java -jar binaryAppScanner.jar C:AppsMyApplication.war --analyzeJavaSE --sourceJava=ibm8 --targetJava=java11
• Command help:
• java -jar binaryAppScanner.jar --help
• java -jar binaryAppScanner.jar --help --analyzeJavaSE
4. Review the report and read the help for each flagged issue to resolve them.
5. (optional) Let me know if it helped….or didn’t! (@DaliaShea)
24. References/Resources
24ORACLE CODE ONE 2019
• My Blog on adding the Java 11/12 feature to the migration tools: https://developer.ibm.com/tutorials/migration-to-java-11-made-easy/
• Binary Scanner (full link): https://developer.ibm.com/wasdev/downloads/#asset/tools-Migration_Toolkit_for_Application_Binaries
• Tool documentation and videos - see the « additional information » section
• Source Scanner (full link): https://developer.ibm.com/wasdev/downloads/#asset/tools-
WebSphere_Application_Server_Migration_Toolkit
• Tool documentation and videos - see the « additional information » section
• Oracle Java SE Support Roadmap: https://www.oracle.com/technetwork/java/java-se-support-roadmap.html
• Oracle JDK Migration Guide: https://docs.oracle.com/en/java/javase/11/migrate/index.html
• AdoptOpenJDK: https://adoptopenjdk.net
• Migrating from Oracle Java to AdoptOpenJDK: https://adoptopenjdk.net/MigratingtoAdoptOpenJDKfromOracleJava.pdf
• AWT peer removals: http://mail.openjdk.java.net/pipermail/awt-dev/2015-February/008924.html
• Andy Guibert’s blog on OpenLiberty Java 11/12 support: https://openliberty.io/blog/2019/02/06/java-11.html
25. 25ORACLE CODE ONE 2019
Questions?
Email: dalia@us.ibm.com
Twitter: @DaliaShea