JDK-8049422 : Remove @jdk.Exported
  • Type: Task
  • Component: other-libs
  • Sub-Component: other
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-07-07
  • Updated: 2017-05-17
  • Resolved: 2016-01-08
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.
9 b101Fixed
Related Reports
CSR :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8175227 :  
JDK 8 introduced @jdk.Exported to help document the supported-ness of JDK-specific APIs.

Modules makes this annotation redundant and we should consider whether to deprecate or remove it in JDK 9. 

It may be simplest to just remove it. The compatibility impact is likely to be low as it's not obvious that anything outside of the JDK is using it. Another point is that Java SE modules will only export Java SE APIs and therefore the jdk package would need to be exported by a JDK-specific - there are no obvious candidates at the moment as we have yet to introduce a jdk.base module.
Code review started here: http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-January/037918.html

JEP 261 includes a proposal to remove this annotation in JDK 9.

There is a strong desire to remove this in JDK 9 before the module system goes in. Accordingly, I moved this issue to the Ana milestone.

One reason to leave the annotation in JDK 9 is so that it is feasible for external tooling to have a consistent way to checked exported-ness across the JDK 8 to JDK 9 boundary.