Я использую OpenJDK 11 и OpenJFX 11.0.1 с Gradle в IntelliJ IDEA для моего проекта.
Когда я использую модуль javafx.base, IntelliJ IDEA сообщает об ошибке в строке 1 (объявление модуля проекта), говоря, что я не включаю модуль javafx.beans (beans - это пакет в модуле javafx.base) в требованиях к моему модулю.
Задача Gradle jar выполняется без каких-либо ошибок или предупреждений, поэтому эта ошибка, вероятно, связана с IntelliJ IDEA.
Сообщение об ошибке: «Модуль« hr.caellian.lunar »считывает пакет« javafx.beans »для обоих« javafx.base »и« javafx.base »»
Если я уберу требование javafx.base, javafx.base из вышеприведенной ошибки будет заменено следующим модулем javafx.
Я также получаю предупреждения в строках требований к модулю javafx: «Неоднозначная ссылка на модуль: javafx.base» для «javafx.base» и т. Д. Для каждого модуля javafx.
Вот мой файл module-info.java:
module hr.caellian.lunar {
requires java.base;
requires kotlin.stdlib;
requires javafx.base;
requires javafx.controls;
requires javafx.fxml;
opens hr.caellian.lunar.gui to javafx.graphics;
requires org.kordamp.ikonli.javafx;
requires org.kordamp.iconli.core;
requires com.fasterxml.jackson.core;
requires com.fasterxml.jackson.databind;
requires com.fasterxml.jackson.dataformat.yaml;
requires arglib;
requires org.apache.bcel;
}
Я искал в Интернете решение как минимум полчаса. Все, что я нашел, это веб-сайт, на котором говорилось, что для JFX необходимы только те модули, которые я уже включил (я думаю, для JavaFX 9).
Я перезагружал модули JavaFX, чтобы посмотреть, пропустил ли я что-то, но не сделал этого - модуль javafx.beans не существует.
'java --list-modules' не перечисляет никакие модули javafx, если это проблема, хотя я понял, что он должен перечислять только модули jdk, и OpenJFX больше не включается в OpenJDK.
Я установил OpenJFX SDK в папку JDK (файлы lib, скопированные в папку lib, то же самое для легальных), добавил файлы javfx jar-зависимостей из папки lib JDK11 в IDEA вручную. Я также добавил все файлы jmod в папку jmod на JDK11.
Возможно, модули JavaFX имеют плохие файлы module-info.java или что-то в этом роде? Это ошибка IntelliJ IDEA?