繁体   English   中英

安装了Java 7u9和Eclipse(Juno),但Eclipse没有看到JavaFX2

[英]Installed Java 7u9 and Eclipse (Juno) but Eclipse doesn't see JavaFX2

我读到的所有地方,从Java 7u7开始,JavaFX2都与JRE和JDK捆绑在一起。 所以我很困惑为什么当我运行Eclipse时,它告诉我“ 导入javafx无法解析 ”。

我没有安装其他JDK或JRE但是7u9,那么为什么我无法从Eclipse中看到JavaFX2?

非常感谢 :)

不幸的是,对于jdk7u9,当我们创建一个新的Java项目时,Eclipse不会将jre\\lib目录中的jfxrt.jar文件添加到项目构建路径库中。 您必须手动执行此操作,或者您可以将e(fx)clipse插件安装到Eclipse,这将使您的JavaFX开发更容易:)

Eclipse遵循JRE 7u9默认引导类路径的默认设置(不包括jfxrt.jar )。 未来的JRE版本会将jfxrt.jar放在引导类路径中,因此您无需手动将jfxrt.jar文件添加到项目构建路径库中。 您可以跟踪此JRE功能

jfxrt.jar添加到项目构建路径将使eclipse能够找到它并允许您在eclipse中开发和执行代码。 但是,当您部署软件时,它将无法再找到jfxrt.jar除非您也将它放在类路径上。 这会变得混乱,因为你必须找到jdk / jre的位置并在里面搜索jfxrt.jar的位置。

据我所知,长期计划是将jfxrt.jarjrelib文件夹移动到lib/ext文件夹。 这将把它放在默认找到它的地方,而不需要在类路径中添加东西。 不幸的是,在Java 8发布之前不太可能发生这种情况!

同时,最简单的解决方案似乎是使用捆绑的javafxpackager工具来创建jar文件,而不是jar工具。 还有一个基于ant的解决方案,但我不熟悉它。 打包器将创建您的jar文件,并插入一个找到jfxrt.jar的启动器类,并在运行时将其动态添加到应用程序的类路径中。 如果jre或安装的javafx太旧并且提示用户下载更新的版本,它也会抱怨。 然后它通过您在命令行上指定的类调用您的应用程序。 (通常是带有main()方法的类)。

它适用于本机javafx应用程序和普通的旧Swing应用程序。 如果jar文件的清单中有额外的东西,例如另一个ClassPath条目,您也可以在命令行中指定它,以包含在新的jar文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM