使用Java 9和Intellij Idea不存在JavaFX

use*_*637 8 java javafx intellij-idea maven javafx-9

我正在使用Intellij Idea来编译一个使用Maven依赖项的项目,而Intellij一直告诉我,我的项目有50个错误,因为JavaFX不存在.

Intellij没有突出显示我的代码中的所有javafx依赖项作为错误,只是一旦我按下运行并编译程序就说JavaFX中的所有东西都不存在.

我试图重新下载最新的JDK(Java 9.0.1)并且没有修复它.我进入了默认项目结构和项目结构,以确保它使用正确的jdk并且没有解决问题.我正在使用的所有jdks似乎都列出了项目中包含的javafx包.

这也是我与朋友合作的特定项目的问题.我们可能不得不将所有代码移到一个新项目中,但是我不确定这是否会解决任何问题.

有什么建议?

y.b*_*rov 13

尝试在"项目结构|项目"中将项目语言级别设置为"9"


Fuy*_*Liu 10

好的,我知道我的问题是什么.

除了Try to set project language level to "9" in "Project Structure | Project"上面提到的,我在一些pom.xml中有一个maven设置,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

java.version被定义为1.8上述的某个地方.我只需要改成它9


小智 5

将JavaFX项目从Java 8升级到Java 9后,我遇到了这个问题.

在IntelliJ和Maven pom中检查项目和模块的通常语言级别设置后,我发现问题是模块被显式设置为在Java Compiler首选项中生成Java 8字节码.

看看Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.检查Project bytecode version是否未设置(或设置正确),并且未Per-module bytecode version使用不正确的值列出模块.