1

我正在尝试在我的 Gluon JavaFX 应用程序中设置 JUnit 测试。我正在使用带有 Gradle 和 Java 8 的 Gluon Eclipse 插件。

我的 build.gradle 文件如下所示:

buildscript {
    repositories {
        jcenter()   
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b10'
    }    
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
}

dependencies {
        compile 'com.gluonhq:ignite-dagger:1.0.0'
        compile 'org.elasticsearch:elasticsearch:1.6.0'
        compile 'ch.qos.logback:logback-classic:1.1.5'
        testCompile 'junit:junit:4.12'
}

mainClassName = 'com.me.MyApplication'

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
    }
}

解决依赖是没有问题的,但是在运行'test'任务时,gradle会抛出这样的错误:

使用 java 8 运行 gradle 时,必须使用属性 retrolambda.oldJdk 或环境变量JAVA6_HOME /JAVA7_HOME 设置旧 jdk 的路径。-2.2.1-all.zip '。

我已经尝试根据 GitHub 上插件的README将 retrolambda 插件添加到 gradle 中,但到目前为止它还不起作用。有人可以告诉我如何配置我的 Gluon 项目,以便我能够使用 Gradle 运行我的 JUnit 测试吗?

一些重要的补充:
对于插件版本,它说:Gluon Tools 1.0.0.201508201514
我想我想提一下我想将 Dagger 依赖注入与 Gluon Ignite 一起使用,这在我的情况下可能是真正的问题,因为它需要 Java 8 并且可能会发生冲突使用 javafxports 或其他东西。但是,我无法完全理解我看到的各种错误消息。我的测试是空的,但它们甚至没有运行,因为它之前失败了。

4

1 回答 1

2

您的问题似乎是一个retroLambda 配置问题。如果您浏览插件的配置页面,它会指出如果您没有设置环境变量,JAVA6_HOME或者JAVA7_HOME您需要明确定义oldJdk插件才能正常工作。

于 2016-03-02T11:01:20.497 回答