pacote sun.awt não existe

tresf:

Ao compilar com ant, as chamadas para sun.awt.AppContexto trabalho, no entanto, o mesmo código compilado com IntelliJ falhar usando AdoptOpenJDK11.

  • sun.awt.AppContextcom a Oracle JDK8 trabalha com IntelliJ
  • sun.awt.AppContextcom AdoptOpenJDK11 não funciona com IntelliJ

Embora Sun / Oracle tem advertido por um tempo sobre como evitar os sun.*pacotes, há certas características (bugs?) Em Java que ainda requerem-los e estranhas, a linha de comando parece feliz.

Código de amostra:

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());
        }
    }
}

digite descrição da imagem aqui

Como é que se configure IntelliJ para se comportar como ante permitir o acesso a sun.awt.*pacotes?

CrazyCoder:

Desativar a opção Use '-release' ... :

liberação

Veja esta resposta para mais detalhes.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=179243&siteId=1
Recomendado
Clasificación