On 18/10/2016 15:52, Andrew Guibert wrote:
:
So my question is:
Is there a list of removed/internalized classes for java 9 anywhere? I
would like to use this list to grep my codebase for soft references.
I don't think there is a list anywhere. Also it would be a moving target
because there are classes added/removed/renamed in sun.** and jdk.**
every week.
One thing that might help is to get a list of the JDK-internal packages
in your current build. Here's one way to create this:
ModuleFinder.ofSystem()
.findAll()
.stream()
.map(ModuleReference::descriptor)
.map(md -> {
Set<String> packages = new HashSet<>(md.packages());
md.exports()
.stream()
.filter(e -> !e.isQualified())
.map(Exports::source).forEach(pn ->
packages.remove(pn));
return packages;
})
.flatMap(Set::stream)
.sorted()
.forEach(System.out::println);
Alternatively you can specify all modules to `java --list-modules` and
filter out the unqualified exports.
-Alan.