не может разрешить символ 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 и внести некоторые изменения ссылка