db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@gmail.com>
Subject Re: Fwd: Derby dependencies on JDK-Internal APIs
Date Tue, 19 May 2015 21:49:53 GMT
On 5/19/15 8:49 AM, Myrna van Lunteren wrote:
> Hi folks,
> I just got this message, probably because I'm still listed as the PMC 
> chair. I currently have no time to look into this, can anyone else 
> free up any time?
> Myrna
> ---------- Forwarded message ----------
> From: *Rory O'Donnell* <rory.odonnell@oracle.com 
> <mailto:rory.odonnell@oracle.com>>
> Date: Tue, May 19, 2015 at 1:50 AM
> Subject: Derby dependencies on JDK-Internal APIs
> To: m.v.lunteren@gmail.com <mailto:m.v.lunteren@gmail.com>
> Cc: rory.odonnell@oracle.com <mailto:rory.odonnell@oracle.com>, 
> Dalibor Topic <dalibor.topic@oracle.com 
> <mailto:dalibor.topic@oracle.com>>, Balchandra Vaidya 
> <balchandra.vaidya@oracle.com <mailto:balchandra.vaidya@oracle.com>>
> Hi Myrna,
> 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
>     <https://jdk8.java.net/download.html>). You do not need to
>     actually test or run your application on JDK8.  JDeps(Docs
>     <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html>)
>     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 <http://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
Hi Rory, Dalibor, and Balchandra,

I downloaded the preview jdku60 and ran its jdeps against the library of 
Derby jar files, per the instructions above. No dependencies 
were listed.

I did find dependencies on classes in the org.w3c.dom.xpath package when 
I ran jdeps on the previous Derby feature release ( But the 
current release looks clean.

Best regards,

View raw message