我正在尝试在我的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')
    }
}

解决依赖关系没有问题,但是在运行“测试”任务时,gradle会抛出如下错误:



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

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

最佳答案

您的问题似乎是retroLambda配置问题。如果浏览插件的configuration页面,则会指出,如果没有为JAVA6_HOMEJAVA7_HOME设置环境变量,则需要显式定义oldJdk才能使插件正常工作。

10-06 10:45