JDK-8065702 : Deprecate the Extension Mechanism
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang:class_loading
  • Affected Version: 8
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-11-21
  • Updated: 2017-05-17
  • Resolved: 2014-12-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u40 b19Fixed
Related Reports
Relates :  
Relates :  
The extension mechanism [1] allows jar files containing APIs that extend the Java SE Platform to be installed into a run-time image so that their contents are visible to every application that is compiled with or runs on that image.

The extension mechanism was introduced in JDK 1.2, which was released in 1998, but in modern times we have seen little evidence of its use. This is not surprising, since most Java applications today place the libraries that they need directly on the class path rather than require that those libraries be installed as extensions of the run-time system.

This feature will be deprecated in 8u40 and may be removed in a future JDK release [2].  There is no change to the runtime behavior.

[1] http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/index.html
[2] http://openjdk.java.net/jeps/220

Suggested text for release note for JDK-8065702, JDK-8064667, JDK-8065702 The endorsed-standards override mechanism [1] and the extension mechanism [2] are deprecated and may be removed in a future release. There is no runtime change. Existing applications using the the endorsed-standards override or extension mechanism are recommended to migrate away from using these mechanisms. To help identify any existing uses of these mechanisms, you can specify the -XX:+CheckEndorsedAndExt command-line option, it will fail if any of the following condition is true: o -Djava.endorsed.dirs or -Djava.ext.dirs system property is set to alter the default location; or o ${java.home}/lib/endorsed directory exists; or o ${java.home}/lib/ext contains any JAR files excluding the ones that JDK ships or any platform-specific system-wide extension directory contains any JAR files. This -XX:+CheckEndorsedAndExt command-line option is supported in 7u80 and 8u40 and later releases. [1] http://docs.oracle.com/javase/8/docs/technotes/guides/standards/index.html [2] http://docs.oracle.com/javase/8/docs/technotes/guides/extensions/index.html