JEP 289: Deprecate the Applet API

OwnerDaniil Titov
Created2016/02/09 22:36
Updated2017/10/19 15:52
TypeFeature
StatusClosed / Delivered
Componentclient-libs
ScopeSE
Discussionjdk9 dash dev at openjdk dot java dot net
EffortXS
DurationXS
Priority3
Reviewed byAndy Herrick, David Dehaven, Kevin Rushforth, Stuart Marks
Endorsed byKevin Rushforth
Release9
Issue8149502

Summary

Deprecate the Applet API, which is rapidly becoming irrelevant as web-browser vendors remove support for Java browser plug-ins. Guide developers to alternative technologies such as Java Web Start or installable applications.

Motivation

To run a Java applet in a web browser requires the use of a browser plug-in. As of late 2015, however, many browser vendors have either already removed plug-in support or else announced timelines for such removal. Once browser plug-ins disappear, there will be no reason to use the Applet API.

Description

Add the @Deprecated(since="9") annotation to the following classes:

We do not intend to remove the Applet API in the next major release, hence we will not specify forRemoval = true in these annotations. If at some later point we do propose to remove this API then we will add forRemoval = true to these annotations at least one major release in advance.

The appletviewer tool will also be deprecated. A deprecation warning will be printed to the standard error stream when the tool is started.

Risks and Assumptions

These annotations will cause deprecation warnings to be emitted by the Java compiler for all code that uses this API. If warnings are treated as errors, they will result in the build failure.