Пакет sun.awt не существует

При компиляции с помощью ant вызовы sun.awt.AppContext работают, однако тот же код, скомпилированный с помощью IntelliJ, не работает с использованием AdoptOpenJDK11.

  • sun.awt.AppContext с Оракл JDK8 работает с IntelliJ
  • sun.awt.AppContext с ПринятьOpenJDK11 НЕ работает с IntelliJ

Хотя у Sun/Oracle есть предупредил на некоторое время об избегании пакетов sun.*, есть определенные функции (ошибки?) в Java, которые все еще требуют их и более странный, но командная строка кажется счастливой.

Образец кода:

package test;

import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import sun.awt.AppContext;

public class Main {

    public static void main(String[] args) {
        //Update printer list in CUPS immediately
        AppContext.getAppContext().put(PrintServiceLookup.class.getDeclaredClasses()[0], null);

        PrintService[] printers = PrintServiceLookup.lookupPrintServices(null, null);
        for (PrintService p : printers) {
            System.out.println(p.getName());
        }
    }
}

Пакет sun.awt не существует

Как настроить IntelliJ, чтобы он вел себя как ant и разрешал доступ к sun.awt.* пакетам?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
8
0
5 610
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Отключить Используйте параметр --release...:

release

Смотрите этот ответ для подробностей.

Спасибо, это сработало. На Mac это было расположено в IntelliJ IDEA > Preferences > Build, Execution, Deployment > Java Compiler.

tresf 31.05.2019 05:19

Большое спасибо, это была проблема и для моего проекта.

Kevin Oswaldo 02.08.2021 19:17

Другие вопросы по теме