Не удается получить доступ к классу JavaFX "WebPage" в IntelliJ-IDEA - PullRequest
0 голосов
/ 02 января 2019

Я давно использую JavaFX-11.Я установил JavaFX как глобальную библиотеку в моей структуре проекта.Я также добавил все модули внутри, как требуется в файле module-info.class моего проекта.

Это работает нормально, но теперь мне нужен класс "WebPage", который находится внутри модуля javafx.web,

В частности, он находится внутри javafx.web.com.sun.webkit.WebPage.

Однако моя среда IDE, Intellij-IDEA, не имеет к ней доступа.Когда я набираю весь путь, подсказка говорит, что пакет 'com.sun.webkit' объявляется в javafx.web, который не экспортирует его в имя проекта модуля.

Я не очень знаком с тем, какфайлы модуля работают, но я заметил, что внутри файла javafx.web также есть файл информации о модулеТем не менее, это только для чтения.Как я могу получить доступ к этому контенту?

1 Ответ

0 голосов
/ 02 января 2019

но я заметил, что внутри javafx.web есть файл информации о модуле.Но только для чтения.как я могу получить доступ к этому контенту?

Несколько баллов, чтобы набрать: -

  1. Класс, который вы ищете, должен быть module-info.class из библиотеки, которую выимпортирован и, следовательно, это будет файл только для чтения.

  2. Классы com.sun.* устарели и не должны использоваться конечными пользователями, поэтому они были удалены илисделал внутренние API JDK (не экспортируется) начиная с Java-9.

  3. Попробуйте перенести код, опираясь на такие классы.В то же время временным решением для выполнения этой работы будет использование аргумента виртуальной машины

    --add-exports javafx.web/com.sun.webkit=projectname
    

    , где последний аргумент - это имя вашего модуля, как объявлено в module-info.java вашегопроект.

...