在 Eclipse Luna 中使用 JavaFX (JDK 1.8.0_05) 不起作用

Posted

技术标签:

【中文标题】在 Eclipse Luna 中使用 JavaFX (JDK 1.8.0_05) 不起作用【英文标题】:Using JavaFX (JDK 1.8.0_05) in Eclipse Luna does not work 【发布时间】:2014-08-19 12:20:56 【问题描述】:

我全新安装了 Java 8(Windows 7 32 位上的 JDK 1.8.0_05)和 Eclipse Luna。 当我尝试构建一个简单的 JavaFX 程序时,Eclipse 在编辑器中显示以下消息:

访问限制:'Application' 类型不是 API('C:\Program Files\Java\jre8\lib\ext\jfxrt.jar')

如果我在命令行上使用 javac 编译程序,一切正常。

任何提示如何解决这个问题?

【问题讨论】:

【参考方案1】:

使用 Eclipse Luna (4.4) 在 Java8 中访问 JavaFx:

转到构建路径/JRE/访问规则/编辑/添加/可访问:javafx/**

【讨论】:

【参考方案2】:

这解决了我的问题:

使用 JRE 上的上下文菜单打开了 Eclipse 项目的 JRE 的属性 我选择“Alternate JRE”而不是“Execution environment”,然后选择“jdk1.8.0_5” - 最终您必须先配置“Alternate JRE”

【讨论】:

谢谢。此外,我将“jfxrt.jar”的源附件配置为指向“Java->Installed JREs”中的“C:/Program Files/Java/jdk1.8.0_25/javafx-src.zip”。现在我到了某个地方:-)【参考方案3】:

e(fx)clipse 项目针对这个问题,非常感谢 Tom Schindl:

http://www.eclipse.org/efxclipse/install.html

我已经下载了 nightly build SDK(目前基于 4.4RC3):

http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/

【讨论】:

您还可以从 Eclipse Marketplace(当前版本 0.9.0)安装插件。有趣的是,这是明确针对 Java 8 的 IDE 所必需的...【参考方案4】:

最后,在 eclipse 项目中的“.classpath”文件上添加访问规则为我解决了这个问题。

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<acces-s-rules>
            <acces-s-rule kind="accessible" pattern="javafx/**"/>
        </acces-s-rules>
    </classpathentry>   

【讨论】:

以上是关于在 Eclipse Luna 中使用 JavaFX (JDK 1.8.0_05) 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

导入org.eclipse.jface无法在Eclipse Luna中解析

在eclipse luna中运行maven项目

如何在 Eclipse 4.4 (Luna) 中添加 apache-tomcat 7

如何在 Eclipse Luna 中使用 Java 8 功能?

如何在 Eclipse Luna 中使用 Java 8 功能?

eclipse luna maven失效的原因