it-swarm.com.ru

JavaFX не существует с использованием Java 9 и Intellij Idea

Я использую Intellij Idea для компиляции проекта, который использует зависимости Maven, и Intellij постоянно говорит мне, что в моем проекте 50 ошибок, потому что JavaFX не существует.

Intellij не выделяет все зависимости javafx в моем коде как ошибки, просто после нажатия кнопки «Выполнить» и компиляции программа говорит, что все в JavaFX не существует.

Я попытался загрузить последнюю версию JDK (Java 9.0.1), но это не помогло. Я вошел в структуру проекта по умолчанию и структуру проекта, чтобы убедиться, что он использует правильный JDK, и это не решило проблему. Кажется, что все jdks, которые я использую, перечисляют пакеты javafx, включенные в проект.

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

Какие-либо предложения?

6
user3785637

Попробуйте установить уровень языка проекта на «9» в «Структура проекта | Проект»

11
y.bedrov

Хорошо, я вижу, в чем заключалась моя проблема.

Помимо Try to set project language level to "9" in "Project Structure | Project", упомянутого выше, у меня была настройка maven в каком-то файле pom.xml:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven-compiler-plugin.version}</version>
    <configuration>
        <source>${Java.version}</source>
        <target>${Java.version}</target>
    </configuration>
</plugin>

и Java.version был определен как 1.8 где-то выше. Я просто должен был изменить его на 9

10
Fuyang Liu

У меня была эта проблема после обновления проекта JavaFX с Java 8 до Java 9.

После проверки обычных настроек уровня языка для проекта и модуля в IntelliJ и Maven pom я обнаружил, что проблема заключалась в том, что модуль был явно настроен для генерации байт-кода Java 8 в настройках компилятора Java.

Посмотри в Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler. Убедитесь, что Project bytecode version не установлен (или установлен правильно) и что ваш модуль не указан в Per-module bytecode version с неверным значением.

5
ThirstyCamel
File --> Project Structure-->Module

Уровень языка здесь установлен на 5 для меня. Повысил его до 9, чтобы разрешить классы и т.д. 

0
Mark Gilmore