【发布时间】:2013-11-02 09:09:42
【问题描述】:
我在 Linux Mint 机器上安装了最新版本的 Java (HotSpot VM 1.7.0_45) 并使用 Gradle 1.8。 我也安装了 Groovy,版本 1.8.6,但我认为这并不重要,因为 Gradle 有自己的 groovy-all.jar。
我的问题是我无法使用 gradle 编译我的 Groovy 项目,因为 JavaFX 类似乎不在类路径中。错误是这样的:
unable to resolve class javafx.scene.Node
@ line 3, column 1.
import javafx.scene.Node
我最终通过在我的依赖项中添加以下可怕的硬编码路径来解决此问题:
compile files( "/usr/lib/jvm/java-7-oracle/jre/lib/jfxrt.jar" )
有没有更好的方法将 JavaFX 添加到 Gradle 的编译类路径中,这样我的所有项目都可以看到它,而无需我将其添加到每个项目中??
我已经尝试了我能想象到的一切:
- 将 jfxrt.jar 添加到标准 JRE(我确认 gradle 正在使用我的标准 java 运行)
ext文件夹,这样我现在可以使用 javac 编译 java 类并使用java运行它们(我知道在这个版本的 Java 中,JavaFX jar 应该已经在 JDK 的类路径中,但在执行此操作之前,我仍然无法运行我的 Java 应用程序,而不是编译)。 -
还在 groovy 类路径中添加了指向同一个 jar 的软链接,这样我就可以从 groovy shell 执行如下所示的操作,并且它可以工作:
将 javafx.application.Application 作为 A 导入; println A
这也适用于 Groovy 控制台。
它只在 Gradle 中不起作用!
感谢您的帮助。
【问题讨论】: