не может разрешить символ javafx.application в IntelliJ Idea IDE

Я попытался создать приложение JavaFX в IntelliJ Idea IDE, но я получил ошибку компиляции:

java: пакет javafx.application не существует.

Я изменил SDK проекта и уровень языка проекта на Java 8, перезагрузил проект, но это не помогло. Затем я проверил, включен ли плагин JavaFX в настройках.

Поиск в Google и StackOverflow не дал мне больше идей о том, что не так. Благодарим за любую помощь заранее.

PS Я использую IntelliJ Idea 14.0 с java8.1.0_25 в ОС archlinux.

Ответ 1

Как указано здесь, JavaFX больше не включен в openjdk.

Поэтому проверьте, есть ли <Java SDK root>/jre/lib/ext/jfxrt.jar в вашем пути к классам в разделе Project Structure → SDKs → 1.x → Classpath? Если нет, возможно, поэтому. Попробуйте добавить его и посмотрите, исправляет ли эта проблема, например, на Ubuntu, установите пакет openjfx с помощью sudo apt-get install openjfx.

Ответ 2

Это должно быть вашим идеальным решением. Попробуйте и наслаждайтесь. Если какая-то команда не работает должным образом, то есть, если вы получаете какую-либо ошибку, попробуйте решить ее самостоятельно. Я дал вам главное, что вам нужно. Если ваше приложение находится в другом месте, или ваша системная архитектура отличается, решите это самостоятельно. Это очень легко сделать. Просто следуйте моему предложению.

Шаг 0:

sudo apt-get install openjdk-8-jre

Шаг 1

sudo apt-get install openjfx

Шаг 2:

sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

Шаг 3:

sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib

Шаг 4:

sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64

Теперь откройте новый проект или перестройте свой проект. Удачи.

Ответ 3

Вам необходимо загрузить пакет java-openjfx из официальных репозиториев Arch Linux. (Также убедитесь, что у вас есть пакет openjdk8-openjdk). После этого откройте свой проект в Intellij и перейдите в Project-Structure → SDKs → 1.8 → Classpath и попробуйте удалить старый JDK, который у вас есть, и щелкните по каталогу нового JDK, который теперь будет содержать jfxrt.jar.

Ответ 4

Вы можете использовать тот, который поставляется с IntelliJ: <intellij>/jre64/lib/ext/jfxrt.jar.

Ответ 5

У вас может быть более низкий уровень языка проекта, чем ваш JDK.

Убедитесь, что: "Структура проекта/проект/Project-> уровень языка" ниже, чем ваш JDK. У меня была та же проблема с JDK 9, и уровень языка по умолчанию был установлен на 6.

Я установил уровень языка проекта на 9, и после этого все сработало.

У вас может быть такая же проблема.

Ответ 6

Еще один способ решения проблемы: щелкните левой кнопкой мыши на папке проекта в структуре проекта слева и выберите "открыть настройки модуля" в списке действий. В новых окнах нажмите на SDK, которые находятся под меню. title "Настройки платформы" Затем проверьте в списке "Classpath", можете ли вы найти путь к плагину jfxrt, если нет, нажмите на символ + справа и выберите реперторий плагина jfxrt (C:\Program Files\Java\jdk1.8.0\jre\lib\ext\jfxrt.jar на моем рабочем столе)

Ответ 7

Пример Java-приложения:

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

Вот мой пример проекта с OpenJDK 12, JavaFX 12 и Gradle 5.4

  • Открывает окно JavaFX с заголовком "Hello World!"
  • Возможность создать работающий исполняемый zip файл дистрибутива (Windows для тестирования)
  • Возможность открытия и запуска в IntelliJ без дополнительной настройки
  • Возможность запуска из командной строки

Я надеюсь, что кто-то найдет проект Github полезным.

Инструкции для случая Scala:

Кроме того, ниже приведены инструкции, которые работают с плагином Gradle Scala, но , похоже, не работают с Java. Я оставляю это здесь на случай, если кто-то еще также использует Scala, Gradle и JavaFX.

1) Как уже упоминалось в вопросе, необходимо установить плагин JavaFX Gradle. Open JavaFX имеет подробную документацию по этому

2) Кроме того, вам нужен JavaFX SDK для вашей платформы, распакованный куда-нибудь. ПРИМЕЧАНИЕ. Обязательно прокрутите вниз до раздела " Последние выпуски ", где находится JavaFX 12 (LTS 11 является первым по некоторым причинам.)

3) Затем в IntelliJ перейдите в File → Project Structure → Libraries, нажмите hit -button и добавьте папку lib из разархивированного JavaFX SDK.

Для более подробных инструкций со скриншотами, посмотрите отличные документы Open JavaFX для IntelliJ. Я не могу заставить работать глубокую ссылку, поэтому выберите JavaFX and IntelliJ а затем Modular from IDE из панели навигации. Затем прокрутите вниз до шага 3. Create a library. Если у вас возникли проблемы, попробуйте проверить и другие шаги.

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

Ответ 8

Вы должны скачать JavaxSDK и внести некоторые изменения ссылка