Opened 2 years ago

Last modified 23 months ago

#423 new defect

Changes for Java9

Reported by: mevenson Owned by:
Priority: major Milestone: 1.6.0
Component: java Version:
Keywords: java-9 Cc:
Parent Tickets:

Description (last modified by mevenson)

  • JDK9

Statement of removal of source/target options

System classloaders no longer extend URLClassLoader

Extension mechanism removed; 'jrt' scheme introduced

"Existing standard APIs that return URL objects to name class and
resource files inside the run-time image will, as noted above, now
return jrt URLs"

The State of the Module System

Subtickets (add)

Attachments (1)

jvm9-20161122a.patch (1.4 KB) - added by mevenson 2 years ago.

Download all attachments as: .zip

Change History (4)

Changed 2 years ago by mevenson

comment:1 Changed 2 years ago by mevenson

From this overview of openjdk9 changes <>. Most notably the bit about the java.lang.reflect setAccessible() method being considerably locked down will mean a fair amount of work to modify existing code.

Changes due primarily to the introduction of the Java Platform Module System may affect code which

  • expects that applying the public modifier to an API element guarantees that the element will be everywhere accessible, or
  • expects to use ClassLoader::getResource* and Class::getResource* methods to read JDK-internal resources, or
  • expects to use the java.lang.reflect.AccessibleObject::setAccessible method to gain access to members of packages that are not exported by their defining modules, or
  • as JVM TI agents expect to be able to instrument Java code that runs early in the startup of the run-time environment.

Existing code that invokes ClassLoader::getSystemClassLoader and blindly casts the result to URLClassLoader, or does the same thing with the parent of that class loader, might not work correctly.

Existing custom class loaders that delegate directly to the bootstrap class loader might not work correctly; they should be updated to delegate to the extension class loader.

Last edited 2 years ago by mevenson (previous) (diff)

comment:2 Changed 2 years ago by mevenson

  • Description modified (diff)

comment:3 Changed 23 months ago by mevenson

  • Milestone changed from 1.5.0 to 1.6.0

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.