Hi Luis,
It's been a while since we contacted you, I hope all is well. Did you
get a chance to look at the internal
dependencies on the com.sun.* packages ?
The module system was integrated into JDK 9 and is now available for
testing in early-access, with build 111.
We’ve defined a modular structure for the JDK (JEP 200
<http://openjdk.java.net/jeps/200>), reorganized the source code
according to that structure
(JEP 201 <http://openjdk.java.net/jeps/201>), and restructured the JDK
and JRE run-time images to support modules (JEP 220
<http://openjdk.java.net/jeps/220>). The last major component,
the module system itself (JSR 376
<http://openjdk.java.net/projects/jigsaw/spec/> and JEP 261
<http://openjdk.java.net/jeps/261>), was integrated into JDK 9 earlier
last week and is now available for testing
in early-access build 111 - here. <http://jdk9.java.net/download>
More information on Mark Reinhold's blog [1]
Rgds, Rory
Project Jigsaw <http://openjdk.java.net/projects/jigsaw/> is an enormous
effort, encompassing six JEPs
<http://openjdk.java.net/projects/jigsaw/#jeps> implemented by dozens of
engineers over many years. So far we’ve defined a modular structure for
the JDK (JEP 200 <http://openjdk.java.net/jeps/200>), reorganized the
source code according to that structure (JEP 201
<http://openjdk.java.net/jeps/201>), and restructured the JDK and JRE
run-time images to support modules (JEP 220
<http://openjdk.java.net/jeps/220>). The last major component, the
module system itself (JSR 376
<http://openjdk.java.net/projects/jigsaw/spec/> and JEP 261
<http://openjdk.java.net/jeps/261>), was integrated into JDK 9
<http://openjdk.java.net/projects/jdk9> earlier this week and is now
available for testing in early-access build 111
<http://jdk9.java.net/download>.
[1] http://mreinhold.org/blog/jigsaw-module-system
On 30/05/2015 11:21, Luis Bernardo wrote:
Hi Rory,
Thank you for your message.
We know for a fact that Batik relies on com.sun.* packages (in
particular com.sun.image.codec.* packages). I will run jdeps to see if
I uncover more problems, but we already know we have a problem.
The question is where we go from here. If I understand the point you
are trying to communicate is that with JDK 9, Batik, as is right now
with dependencies on com.sun.* packages, will not work anymore. And I
think the goal of your message was to call our attention to this fact.
So, we acknowledge here that we are aware of this looming problem.
We will try to find bandwidth and resources to address this.
Regards,
Luis
On 5/29/15 9:55 AM, Rory O'Donnell wrote:
Hi All,
Is there someone who could help with this ?
Rgds,Rory
On 19/05/2015 14:33, Rory O'Donnell wrote:
Hi All,
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 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
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland