我正在尝试在我的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时,必须设置旧jdk的路径,使用属性retrolambda.oldJdk或环境变量JAVA6_HOME / JAVA7_HOME无法使用Gradle分发'https://services.gradle.org/distributions/执行构建gradle-2.2.1-all.zip” .
我已经尝试根据GitHub上的插件README添加retrolambda插件来gradle,但它到目前为止还不起作用 . 有人可以告诉我如何配置我的Gluon项目,以便我能够使用Gradle运行我的JUnit测试吗?
一些重要的补充:
对于插件版本,它说:胶子工具1.0.0.201508201514
我想我提到我想要使用Dagger依赖注入与Gluon Ignite,这可能是我的情况下的真正问题,因为它需要Java 8并且可能与javafxports或其他东西冲突 . 但是,我已经看到了 . 我的测试是空的,但它们甚至没有运行,因为它之前失败了 .
1 回答
您的问题似乎是retroLambda配置问题 . 如果您浏览插件的configuration页面,则表明如果您没有为
JAVA6_HOME
或JAVA7_HOME
设置环境变量,则需要明确定义oldJdk
以使插件正常工作 .