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

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

  • sun.awt.AppContext с Oracle JDK8 работает с IntelliJ
  • sun.awt.AppContext с AdoptOpenJDK11 НЕ работает с 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());
        }
    }
}

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

1 ответ

Решение

Отключите опцию " Использовать --release"...:

Смотрите этот ответ для деталей.

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