8026398: Can't load jdk.Exported, ClassNotFoundException

Alan Bateman Alan.Bateman at oracle.com
Mon Oct 14 13:39:22 UTC 2013


This is an update to the BuildMetaIndex tool, the tool used in the build 
to generate the meta-index file.

The problem is that the tool assumes that there are at least two levels 
of package in the name of each type. This causes a problem for 
jdk.Exported, the annotation that was added as part of JEP 179 [1]. At 
this time you can't load this class because the entry in the meta-index 
file is generated as jdk/internal/ rather than jdk/.

The tool is crying out for a re-write but it's a bit late in JDK 8 so 
I've instead did enough to get it to handle top-level packages in the 
"known prefix" set. The change mans that when a type in the top-level 
package is found then it adds a special value ("TOP") into its second 
package set, this is enough to allow it be handled when emitting the 
lines for the known prefixes.

The webrev with the proposed change is here:
   http://cr.openjdk.java.net/~alanb/8026398/webrev/

Thanks,

-Alan.

[1] http://openjdk.java.net/jeps/179



More information about the build-dev mailing list