JEP 398: Deprecate the Applet API for Removal
Перевод Applet API в статус Deprecated for Removal (устаревший, будет удалён)
| Ответственный | Andy Herrick |
| Тип | Feature |
| Область | SE |
| Статус | Closed / Delivered |
| Выпуск | 17 |
| Компонент | client-libs / java.awt |
| Обсуждение | awt dash dev at openjdk dot java dot net |
| Трудоёмкость | S |
| Длительность | S |
| Связан с | JEP 289: Deprecate the Applet API |
| JEP 504: Remove the Applet API | |
| Рецензенты | Alexander Matveev, Kevin Rushforth, Philip Race, Sergey Bylokhov |
| Одобрен | Kevin Rushforth |
| Создан | 2020/11/10 15:54 |
| Обновлён | 2025/04/02 12:47 |
| Задача | 8256145 |
Аннотация
Перевести Applet API в статус Deprecated for Removal. По сути, он утратил значение, поскольку все производители веб-браузеров либо уже убрали поддержку браузерных плагинов Java, либо объявили о планах сделать это.
История
Applet API ранее уже получил статус Deprecated (устаревший), хотя и не для удаления, в JEP 289 в Java 9.
Описание
Перевести в статус Deprecated for Removal следующие классы и интерфейсы стандартного Java API:
java.applet.Appletjava.applet.AppletStubjava.applet.AppletContextjava.applet.AudioClipjavax.swing.JAppletjava.beans.AppletInitializer
Перевести в статус Deprecated for Removal все элементы API, которые ссылаются на перечисленные выше классы и интерфейсы, включая методы и поля в следующих элементах:
java.beans.Beansjavax.swing.RepaintManagerjavax.naming.Context
Тестирование
Прежде чем удалить Applet API, потребуется изменить или удалить сотни тестов, но этот JEP касается только перевода в статус Deprecated for Removal. Мы изучим эти тесты, чтобы определить, нужны ли дополнительные аннотации @SuppressWarnings.
Риски и допущения
Если эти API всё же где-то ещё используются, разработчики могут подавить предупреждения компилятора с помощью аннотации @SuppressWarnings("removal") или параметра командной строки -Xlint:-removal компилятора javac.