Модуль управления JavaFX не найден, хотя я включил его в путь сборки (IDE eclipse)

[Модуль управления JavaFX не найден, хотя я включил его в путь сборки (IDE eclipse)Я пытаюсь создать приложение JavaFX, следуя методу MVC. Я создал файл Main.java для запуска приложения, файл controller.java и файл view.fxml.

При попытке запустить приложение (главный файл) получаю следующую ошибку: Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found .

У меня есть другой проект, в котором я скопировал эти три файла внутри той же IDE eclipse с тем же путем сборки и аргументами виртуальной машины, и там это работает. Дело в том, что мне это нужно внутри моего проекта, а не в «фиктивном» проекте, где он, кажется, работает. Я надеюсь, что это не слишком запутанно, поэтому я добавлю несколько скриншотов.

На изображении вы можете увидеть проводник пакетов с расширенными указанными проектами. Как видите, оба имеют одни и те же файлы и одни и те же библиотеки.

Второе изображение для того, чтобы продемонстрировать, что оба проекта включают файлы javafx.controls.jar. Даже мой профессор не смог мне помочь... У ЛЮБОГО есть идея относительно того, что может быть причиной этой проблемы? Спасибо. [Модуль управления JavaFX не найден, хотя я включил его в путь сборки (IDE eclipse)

edit Я добавил скриншоты, чтобы показать вам, что включает в себя моя вкладка зависимостей в конфигурациях запуска.

Белый крестик в красном квадрате означает, что ваш код содержит ошибки сборки (то есть компиляции). Откройте файл SpielController.java в java-редакторе и пометьте строки, содержащие ошибки. Используете ли вы Maven, Gradle, Ant или какой-либо другой инструмент сборки?

Abra 17.12.2020 19:13

Вам нужно, чтобы библиотеки JavaFX были доступны во время выполнения, а не только во время компиляции. Так что недостаточно просто «включить их в путь сборки». Этот вопрос специфичен для IntelliJ, но концепции те же. Обратите внимание, в частности, на шаг 4 в принятом ответе.

James_D 17.12.2020 19:42

@ Абра, я тоже это заметил. Однако файл SpieleController.java в обоих проектах одинаков.

sepæpa 17.12.2020 20:05

@James_D извините за наивный вопрос, но как мне убедиться, что они также доступны во время выполнения? кстати. я думаю, что уже сделал шаг 4 правильно --module-path "/Library/Java/JavaVirtualMachines/javafx-sdk-11.0.2/lib" --add-modules=ALL-MODULE-PATH

sepæpa 17.12.2020 20:14

Это должно заставить его работать. Но убедитесь, что вы предоставляете эти аргументы как компилятору, так и среде выполнения. Все это намного проще, если вы используете инструмент управления зависимостями, такой как Maven или Gradle.

James_D 17.12.2020 20:15

файл ... абсолютно одинаков в обоих проектах. Не меняет того факта, что он не компилируется в одном из проектов. Какие строки в файле SpielController.java не компилируются? Какую ошибку Eclipse показывает вам для этих строк?

Abra 17.12.2020 20:16

@Abra я опубликовал еще один скриншот с ошибкой... :D

sepæpa 17.12.2020 20:25

@James_D Я добавил эту команду в конфигурации запуска на вкладке аргументов в разделе «VM - Arguments». это для времени выполнения или компиляции? где будет один для компилятора? Спасибо за вашу помощь :)

sepæpa 17.12.2020 20:30

@Abra дело в том, что eclipse не завершается сбоем из-за этой ошибки, он только дает мне «javafx.controls», который не найден ...

sepæpa 17.12.2020 20:30

нет скриншотов текста - они нечитаемы и недоступны для поиска

kleopatra 18.12.2020 00:28

@kleopatra какой текст тебе не читается?

sepæpa 18.12.2020 14:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
11
2 143
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что настройки компилятора Java для вашего проекта неверны.

В меню Project Eclipse выберите пункт меню Properties. Появится окно свойств проекта. В этом окне выберите компилятор Java и убедитесь, что уровень соответствия указан правильно. См. изображение ниже.

Поскольку вы, похоже, используете JDK 11, я предлагаю вам установить уровень соответствия 11.

РЕДАКТИРОВАТЬ

После исправления ошибок компиляции вы можете запустить свой проект. Чтобы запустить ваш проект, вы должны определить конфигурацию запуска. Выберите пункт «Выполнить конфигурации...» в меню «Выполнить». Убедитесь, что JAR-файлы JavaFX отображаются на вкладке «Зависимости».

Привет Абра, спасибо за ответ. Я проверил уровень соответствия компилятора, и он действительно был полностью выключен - 1,5 вместо 11. Изменение этого привело к исчезновению ошибки, в проекте больше нет «белого креста внутри красного прямоугольника». Однако ошибка остается Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found кстати, извините за задержку с ответом.

sepæpa 18.12.2020 14:13

И снова здравствуйте. На вкладке зависимостей я также включил библиотеки. Я добавил еще два скриншота, чтобы продемонстрировать это. У меня есть пользовательская библиотека javaFx11, которая включает в себя файл javafx.controls.jar

sepæpa 18.12.2020 14:35

Теперь они встали.

sepæpa 18.12.2020 14:44

Другие вопросы по теме