--- old/src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java 2015-05-20 17:42:17.616589665 -0700 +++ new/src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java 2015-05-20 17:42:17.500589090 -0700 @@ -46,7 +46,7 @@ */ class PlatformClassPath { private static final List NON_PLATFORM_JARFILES = - Arrays.asList("alt-rt.jar", "jfxrt.jar", "ant-javafx.jar", "javafx-mx.jar"); + Arrays.asList("alt-rt.jar", "ant-javafx.jar", "javafx-mx.jar"); private static final List javaHomeArchives = init(); static List getArchives() { @@ -124,6 +124,14 @@ */ static class JDKArchive extends Archive { private static List PROFILE_JARS = Arrays.asList("rt.jar", "jce.jar"); + // Workaround: The following packages are not annotated as jdk.Exported + private static List EXPORTED_PACKAGES = Arrays.asList( + "javax.jnlp", + "org.w3c.dom.css", + "org.w3c.dom.html", + "org.w3c.dom.stylesheets", + "org.w3c.dom.xpath" + ); public static boolean isProfileArchive(Archive archive) { if (archive instanceof JDKArchive) { return PROFILE_JARS.contains(archive.getName()); @@ -155,7 +163,11 @@ * Tests if a given package name is exported. */ public boolean isExportedPackage(String pn) { - if (Profile.getProfile(pn) != null || "javax.jnlp".equals(pn)) { + if (Profile.getProfile(pn) != null) { + return true; + } + // special case for JavaFX and APIs that are not annotated with @jdk.Exported) + if (EXPORTED_PACKAGES.contains(pn) || pn.startsWith("javafx.")) { return true; } return exportedPackages.containsKey(pn) ? exportedPackages.get(pn) : false; --- old/test/tools/jdeps/APIDeps.java 2015-05-20 17:42:18.036591747 -0700 +++ new/test/tools/jdeps/APIDeps.java 2015-05-20 17:42:17.908591113 -0700 @@ -90,8 +90,9 @@ new String[] {"-classpath", testDir.getPath(), "-verbose:class", "-filter:none", "-P"}); test(new File(mDir, "Gee.class"), new String[] {"g.G", "sun.misc.Lock", "com.sun.tools.classfile.ClassFile", - "com.sun.management.ThreadMXBean", "com.sun.source.tree.BinaryTree"}, - new String[] {testDirBasename, "JDK internal API", "compact3", ""}, + "com.sun.management.ThreadMXBean", "com.sun.source.tree.BinaryTree", + "org.w3c.dom.css.CSSValue"}, + new String[] {testDirBasename, "JDK internal API", "compact2", "compact3", ""}, new String[] {"-classpath", testDir.getPath(), "-verbose", "-P"}); // -jdkinternals --- old/test/tools/jdeps/m/Gee.java 2015-05-20 17:42:18.436593731 -0700 +++ new/test/tools/jdeps/m/Gee.java 2015-05-20 17:42:18.312593116 -0700 @@ -29,4 +29,5 @@ public com.sun.tools.classfile.ClassFile cf; // @jdk.Exported(false) public com.sun.source.tree.BinaryTree tree; // @jdk.Exported public com.sun.management.ThreadMXBean mxbean; // @jdk.Exported on package-info + public org.w3c.dom.css.CSSValue value; // special case }