Hi,
Just wondering if anyone has had a chance to run the jdeps tool to check
for dependencies on JDK-Internal APIs ?
Rgds,Rory
On 15/06/2015 17:42, Mike Kienenberger wrote:
If you want to reach Apache Flex developers, you'll need to use
dev@flex.apache.org rather than d...@myfaces.apache.org.
Since you posted this publicly on the MyFaces development list, I'm
going to assume you meant for your Apache Flex message to also be
posted publicly, and I am cc'ing dev@flex.apache.org as well.
On Mon, Jun 15, 2015 at 9:10 AM, Rory O'Donnell
<rory.odonn...@oracle.com> wrote:
Hi,
My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
I'm contacting you because your open source project seems to be a very
popular dependency for other open source projects.
As part of the preparations for JDK 9, Oracle’s engineers have been
analyzing open source projects like yours to understand usage. One area of
concern involves identifying compatibility problems, such as reliance on
JDK-internal APIs.
Our engineers have already prepared guidance on migrating some of the more
common usage patterns of JDK-internal APIs to supported public interfaces.
The list is on the OpenJDK wiki [0].
As part of the ongoing development of JDK 9, I would like to inquire about
your usage of JDK-internal APIs and to encourage migration towards
supported Java APIs if necessary.
The first step is to identify if your application(s) is leveraging internal
APIs.
Step 1: Download JDeps.
Just download a preview release of JDK8(JDeps Download). You do not need to
actually test or run your application on JDK8. JDeps(Docs) looks through
JAR files and identifies which JAR files use internal APIs and then lists
those APIs.
Step 2: To run JDeps against an application. The command looks like:
jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
The output inside your-application.jdeps.txt will look like:
your.package (Filename.jar)
-> com.sun.corba.se JDK internal API (rt.jar)
3rd party library using Internal APIs:
If your analysis uncovers a third-party component that you rely on, you can
contact the provider and let them know of the upcoming changes. You can then
either work with the provider to get an updated library that won't rely on
Internal APIs, or you can find an alternative provider for the capabilities
that the offending library provides.
Dynamic use of Internal APIs:
JDeps can not detect dynamic use of internal APIs, for example through
reflection, service loaders and similar mechanisms.
Rgds,Rory
[0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland