Eu tenho um (8) projeto de legado Java aberto em Eclipse com Java 11 (ou Java 10). Eclipse agora é justamente reclamando sobre pacotes inacessíveis. Por exemplo com.apple.laf.AquaComboBoxUI
.
Ao compilar a partir de linha de comando que pode fazer esses pacotes acessíveis de forma explícita, adicionando um parâmetro para javac
:
--add-exports java.desktop/com.apple.laf=ALL-UNNAMED
Existe uma maneira de fazer o mesmo de dentro do Eclipse IDE? Tentei adicionar uma regra de acesso na biblioteca de JDK. Mas isso parece não ter nenhum efeito. Alguma ideia?
E sim, eu sei, nós deve migrar o projeto para usar APIs única oficiais. Mas isso é um longo, longo caminho ...
Eu estou respondendo a minha própria pergunta, desde que eu encontrei uma solução.
- Em Eclipse configurações Navegue até: Caminho de Construção Java → Bibliotecas → ModulePath → JRE Sistema de Bibliotecas
- Expandi-la e clique duas vezes: é modular (modifica encapsulamento)
- Mudar para Detalhes guia
- Adicionar um novo exportação: Ex java.desktop → com.apple.laf