Почему мы получаем ошибку с JRE 11 Mac OSX (amd64) - PullRequest
1 голос
/ 15 мая 2019

Мы создали установщик для Mac с JRE Macosx (amd64) 11.0.1. Когда в нашем приложении мы добавляем в контейнер JPanel еще один объект, расширенный из JComponent (BrowserView от JxBrowser), наше приложение аварийно завершает работу, и на компьютере Mac отображается страница ошибки с сообщением, которое не найдено, класс sun / lwawt / LWComponentPeer.

Поддержка JxBrowser говорит о том, что на Mac JDK 11 от Oracle проблем нет.

Возможно ли, что sun / lwawt / LWComponentPeer не представлен в JRE Macosx (amd64) 11.0.1? Какой JRE мы должны использовать вместо этого?

(Вопрос также отправлен в службу поддержки install4j)

1 Ответ

0 голосов
/ 15 мая 2019

Начиная с Java 9, JRE является модульным, и вы не можете получить доступ к классам, которые не экспортируются модулями. Чтобы получить доступ к этому конкретному классу, параметр VM

--add-exports java.desktop/sun.lwawt=ALL-UNNAMED

должно быть передано в JVM. Это может просто вызвать следующее исключение и Вы должны продвигаться вперед.

...