java - 在 Windows 7 上安装和导入 javafx

标签 java javafx

我已经安装了 jdk1.7.0_07 并更改了 PATH,但我仍然无法导入 javafx,我应该做些什么来解决这个问题?

最佳答案

确保/jre/lib/jfxrt.jar 在您的编译路径上。

例如,对于 win7 上的 64 位 jdk7u6 版本,jfxrt.jar 位于此处:

C:\Program Files\Java\jdk1.7.0_06\jre\lib\jfxrt.jar

jfxrt.jar 有意为 jdk1.7.0_06 保留在 java 运行时路径之外,直到完成 JavaFX 和其余 java 基础结构之间的进一步测试。这意味着非 JavaFX 程序不可能受到可能由 JavaFX 引起的兼容性问题的影响。迄今为止,我从未遇到过任何兼容性问题 - 我认为这只是 Oracle 在这方面的谨慎举措。

在未来的版本中,jfxrt.jar 应该被添加到 Java 的默认编译和运行时类路径中,下面的一些信息应该是无关紧要的。您可以跟踪 request to add jfxrt.jar to the default java runtime .

从命令行编译和运行 JavaFX 程序

下面的示例针对名为 javafxsamples.AudioPlaylist 的 JavaFX 应用程序类

如果你是从命令行编译,编译:

javac -cp ".;C:\Program Files\Java\jdk1.7.0_06\jre\lib\jfxrt.jar" javafxsamples/AudioPlaylist.java

要从命令行运行,您可以使用:

java -cp ".;C:\Program Files\Java\jdk1.7.0_06\jre\lib\jfxrt.jar" javafxsamples.AudioPlaylist

不过,建议您使用 javafxpackager 打包您的应用程序,而不是手动将 jfxrt.jar 添加到您的类路径(javafxpackager 打包的应用程序将嵌入一个启动器,该启动器会找到 jfxrt.jar 并将其添加到类路径中)。

javafxpackager -createjar -nocss2bin -appclass javafxsamples.AudioPlaylist -srcdir . -outfile AudioPlaylist.jar

之后,您无需在类路径上指定 jfxrt.jar 位置即可运行应用程序:

java -jar AudioPlaylist.jar

使用 IDE 编译和运行 JavaFX 程序

NetBeans

如果您使用的是 NetBeans 7.2+,您可以创建一个 JavaFX 项目类型,当您将 jdk1.7.0_07 设置为您的 platform 时,它应该会自动找到 JavaFX jfxrt.jar 并将其放在项目的类路径中。 .

eclipse

如果您使用 e(fx)clipse确保您使用的是最新版本 (0.0.14+),它具有更好的 JavaFX 检测功能。

想法

Intellij Idea 11.1.3 会自动将 jre lib 目录中的所有文件添加到它的项目类路径中,因此您不会遇到编译错误。请注意,Idea 的行为在这方面是错误的,它实际上不应该这样做,但最终您会得到能够从 idea 编译和运行您的 JavaFX 类的预期行为。

使用 maven 构建 JavaFX 程序

  • 使 jfxrt.jar 成为您的 Maven 项目的系统依赖项,以使其进入路径。
  • 使用 maven antrunner 执行部署打包的 javafx ant 任务。

maven project 中提供了使用 Maven 打包 JavaFX 的示例.


即使您使用 IDE 或 Maven 进行构建,仍然建议您使用 javafx ant 任务或 javafxpackager 实用程序打包您的应用程序以进行交付,因为这应该为您的应用程序提供最强大的部署解决方案。

关于java - 在 Windows 7 上安装和导入 javafx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411010/

相关文章:

java - 如何使用 Spring Boot 应用程序渲染 JSP

java - SQLServer express R2 的 JDBC 连接 Url

java - JFXButton波纹填充颜色无法更改

当单击按钮而调用 JavaFX AnimationTimer 时,它不会启动

java - ant如何写url

java - java和kotlin参数有效可见性冲突

Java - 替代许多带有instanceof条件的else if语句

可以通过 GUI 和命令行控制的 Javafx 程序?

character-encoding - Javafx 字符编码不匹配

java - 操作按钮不起作用(SceneBuilder JavaFX)