Groovy+JavaFX程序,Gradle无法编译,但在IDE可以直接运行

发布于 2021-11-25 12:41:06 字数 527 浏览 963 评论 2

一个JavaFX8程序,最开始用Java开发,现在往Groovy上转,现在Java代码和Groovy代码都有。

(1)一开始继承关系只有Groovy类继承Java类,:compileJava没有问题,:compileGroovy失败,提示Execution failed for task ':compileGroovy'.
> Unable to load class xxx.XXXXX due to missing dependency javafx/beans/property/ObjectProperty

编译java时候能找到javafx相关类,编译groovy却找不到

(2)后来将那个报错的类变成Groovy类以后,就变成Groovy集成Java,Java又继承Groovy这样,Gradle在编译Java时提示找不到用Groovy写的父类(这是肯定的)。

(3)无论是上面哪一种情况,在IDEA里直接右键运行Main class都能直接跑起来。

刚刚开始接触groovy和gradle,希望高手帮忙解答

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧伤慢歌 2021-11-30 06:09:59

并不是你说的这样,需要把jfxrt.jar加入到dependencies里才行,可能groovyc的类路径默认不包含rt.jar以外的内容

天涯离梦残月幽梦 2021-11-30 05:45:43

已解决。需要在build.gradle中加入以下内容(或其他等价写法)。
configurations { providedCompile }

dependencies {
    providedCompile files("${System.env['JAVA_HOME']}/jre/lib/ext/jfxrt.jar")
}

sourceSets {
    main {
        compileClasspath += configurations.providedCompile
    }
    test {
        compileClasspath += configurations.providedCompile
        runtimeClasspath += configurations.providedCompile
    }
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文