Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij IDEA 2018.2不认可JDK 10的JavaFX包_Java_Intellij Idea_Javafx_Version - Fatal编程技术网

Intellij IDEA 2018.2不认可JDK 10的JavaFX包

Intellij IDEA 2018.2不认可JDK 10的JavaFX包,java,intellij-idea,javafx,version,Java,Intellij Idea,Javafx,Version,我已经搜索过了,但没有找到任何关于它的详细信息。里面说 从JDK 7u6开始,JavaFX包含在标准JDK和JRE包中 但是我在编译包含javafx.*包的代码时出错了。这些软件包不可用。我正在使用Oracle JDK 10.0.2和Intellij Idea 2018.2。代码是在我添加了$JAVA8_HOME/jre/lib/ext/jfxrt.jar作为库之后工作的 但奇怪的是,我能够构建代码以针对字节码版本8,而无需像上面那样从JDK 8添加jar文件 所以问题是 如何获取最新的Java

我已经搜索过了,但没有找到任何关于它的详细信息。里面说

从JDK 7u6开始,JavaFX包含在标准JDK和JRE包中

但是我在编译包含
javafx.*
包的代码时出错了。这些软件包不可用。我正在使用Oracle JDK 10.0.2和Intellij Idea 2018.2。代码是在我添加了$JAVA8_HOME/jre/lib/ext/jfxrt.jar作为库之后工作的

但奇怪的是,我能够构建代码以针对字节码版本8,而无需像上面那样从JDK 8添加jar文件

所以问题是

如何获取最新的JavaFX

JDK 8中是否有最新的JavaFX

更新 JDK10包含JavaFX,并在命令行中成功编译和运行。Intellij IDEA 2018.2存在问题。它无法识别JavaFX包

Intellij中的错误消息:

错误:(3,26)java:包javafx.application不存在

注意:在编辑器中编码时没有错误(不是红色下划线)。在Intellij中编译时出错


更新了问题标题。

JavaFX包含在Oracle JDK中,Java 10之前包括在内。从Java11开始,它将不再包括在内,但可以在这里单独下载


有关如何从第11版开始使用JavaFX的更多信息,请参见此处:。

通过此步骤解决的问题:

项目字节码版本设置为10,而不是中的8

File > Settings > Build, Execution, Deployment > Compiler > Java Compiler

谢谢您的帮助。

我不使用intelliJ,但根据,intelliJ设置中设置的“语言级别”可能是错误的。intelliJ确实有一系列令人困惑的设置,隐藏在Java版本、编译器和代码语法的黑暗角落中。如果使用该工具,请在Maven中添加该设置。然后是Java模块化的一层,随着Java 9、10和11的逐步引入,这将成为构建和运行Java项目所面临的一系列挑战。@Pagbo是的,我的问题也是一样的。但那里的解决方案并不奏效。语言等级必须是10或8级?你确定吗?我看不出有任何迹象表明要加入JavaFX。不管怎样,“高达并包括Java10”并不完全准确;很明显,足够旧的版本没有JavaFX。@VGR@VGR,JavaFX在JDK 7u6被OP提到之前没有包括在内,所以我没有重复。它也从来没有正式包含在OpenJDK中,只是为了避免这里的任何混乱。这对我来说很有用。我刚刚下载了这个包,并将lib文件夹包含在projectstructure-Libraries中。希望iit能帮助某些人谢谢,它能工作,但它实际上做什么呢?IntelliJ没有识别模块,因为它试图编译成java字节码版本8,甚至项目SDK是JDK 10。这可以提供运行编译程序与JRE 8的兼容性。但是JavaFX包是用“Java模块”设计的,它是从JDK9开始的。因此,我需要告诉IntelliJ编译到版本10而不是8。您可以在此处找到有关java模块的更多信息: