Guava is a general purpose library that contains quite a bunch of stuff. It seems like the report we're looking at is simply a byte code scan of our "lib" folder looking for undesirables.
sun.misc.Unsafe is cookie jar of cool stuff that certain features of guava use. I doubt that /we/ actually use those features, but it' s still on our classpath, which is what the report is telling us. From what I can see in guava, they're quite clever about not loading Unsafe before you actually use those features that require it. And, as the report says, there is no known replacement for sun.misc.Unsafe; I'm not even sure such a replacement is scheduled for jdk9. Such a feature would make a lot of people happy :) I'm sure the guava devs will incorporate such a replacement if it shows up, but to my understanding this is guavas problem not ours (a SEP). Kristian 2014-09-15 13:24 GMT+02:00 Igor Fedorenko <i...@ifedorenko.com>: > We can move to the newer version of guava. This was one of the reasons I > updated to the latest sisu, I was told it did not depend on any internal > guava apis any more. Of course, somebody will have to check what guava > version is compatible with JDK 9 before we upgrade. > > -- > Regards, > Igor > > > On 2014-09-15, 7:15, Kristian Rosenvold wrote: >> >> So if I read your report correctly, our code uses guava, which >> contains references to sun.misc.Unsafe. Actually it's sisu that uses >> guava, not maven core itself..... >> >> Not too much we can do about that, other than consider throwing guava >> out of sisu. As long as we're on a sub-1.8 minimum language level I >> assume guava stays in sisu. >> >> So "these are not the droids you're looking for" :) >> >> Kristian >> >> >> >> >> 2014-09-15 12:17 GMT+02:00 Rory O'Donnell Oracle, Dublin Ireland >> <rory.odonn...@oracle.com>: >>> >>> Hi Stephen, >>> >>> One more time, hope this is ok. >>> >>> Rgds,Rory >>> >>> >>> JDK Internal API Usage Report for apache-maven-3.2.3 >>> >>> The OpenJDK Quality Outreach campaign has run a compatibility report to >>> identify usage of JDK-internal APIs. Usage of these JDK-internal APIs >>> could >>> pose compatibility issues, as the Java team explained in 1996 >>> <http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html>. We >>> have created this report to help you identify which JDK-internal APIs >>> your >>> project uses, what to use instead, and where those changes should go. >>> Making >>> these changes will improve your compatibility, and in some cases give >>> better >>> performance. >>> >>> Migrating away from the JDK-internal APIs now will give your team >>> adequate >>> time for testing before the release of JDK 9. If you are unable to >>> migrate >>> away from an internal API, please provide us with an explanation below to >>> help us understand it better. As a reminder, supported APIs are >>> determined >>> by the OpenJDK's Java Community Process and not by Oracle. >>> >>> This report was generated by jdeps >>> <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html> >>> through static analysis of artifacts: it does not identify any usage of >>> those APIs through reflection or dynamic bytecode. You may also run jdeps >>> on >>> your own >>> >>> <https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool> >>> if you would prefer. >>> >>> Summary of the analysis of the jar files within apache-maven-3.2.3: >>> >>> * Numer of jar files depending on JDK-internal APIs: 1 >>> * Internal APIs that have known replacements: 0 >>> * Internal APIs that your team should migrate away: 1 >>> >>> >>> APIs that have known replacements >>> >>> >>> <https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>: >>> >>> ID Replace Usage of With Inside >>> >>> >>> JDK-internal APIs without supported replacements: >>> >>> ID Internal APIs (do not use) Used by >>> 1 sun.misc.Unsafe >>> >>> * lib/guava-14.0.1.jar >>> >>> Explanation... >>> >>> >>> Identify External Replacements >>> >>> You should use a separate third-party library that performs this >>> functionality. >>> >>> ID Internal API (grouped by package) Used By Identify >>> External Replacement >>> >>> >>> On 15/09/2014 10:22, Stephen Connolly wrote: >>>> >>>> >>>> I think the mailing list stripped the attachment >>>> >>>> On Monday, 15 September 2014, Rory O'Donnell Oracle, Dublin Ireland < >>>> rory.odonn...@oracle.com> wrote: >>>> >>>>> Hi Robert,Kristian, >>>>> >>>>> 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], along with instructions on how to >>>>> run >>>>> the jdeps analysis tool yourself . >>>>> >>>>> As part of the ongoing development of JDK 9, I would like to encourage >>>>> migration from JDK-internal APIs towards the supported Java APIs. I >>>>> have >>>>> prepared a report for your project release apache-maven-3.2.3 based on >>>>> the >>>>> jdeps output. >>>>> >>>>> The report is attached to this e-mail. >>>>> >>>>> For anything where your migration path is unclear, I would appreciate >>>>> comments on the JDK-internal API usage patterns in the attached jdeps >>>>> report - in particular comments elaborating on the rationale for them - >>>>> either to me or on this list. >>>>> >>>>> Finding suitable replacements for unsupported interfaces is not always >>>>> straightforward, which is why I am reaching out to you early in the JDK >>>>> 9 >>>>> development cycle so you can give feedback about new APIs that may be >>>>> needed to facilitate this exercise. >>>>> >>>>> Thank you in advance for any efforts and feedback helping us make JDK 9 >>>>> better. >>>>> >>>>> 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 >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org