我有一个Gradle管理的多项目设置,它依赖于新的Java 8 var arr = new Array();
arr = [50,100,30,40,80,10,1];
var z = arr.sort();
console.error(z);
编译器标志。我需要两种方法来包含编译器标志:
我试过这个:
-parameters
...但它似乎没有正常工作。
答案 0 :(得分:17)
您应该使用配置Java编译插件的标准方法:
apply plugin: 'java'
compileJava {
options.compilerArgs << '-parameters'
}
答案 1 :(得分:6)
对于Android项目,可以添加例如在gradle android范围的下面。
// Used to get more info from dagger regarding binding compile errors
// see https://github.com/google/dagger/wiki/Dagger-2.17-@Binds-bugs
tasks.withType(JavaCompile) {
options.compilerArgs += ["-Adagger.floatingBindsMethods=enabled"]
}
答案 2 :(得分:0)
@Crazyjavahacking的答案是正确的
另外,请检查是否在使用其他args(在我的情况下为mapstruct)的子项目中像我一样重新定义它:
options.compilerArgs = ['-Amapstruct.defaultComponentModel=spring'] // do not do this
始终附加参数options.compilerArgs << '-Amapstruct.defaultComponentModel=spring'
希望它可以节省一些时间,因为我在子项目中完全忘记了这条线,而将精力集中在主要的build.gradle上,所以我个人损失了2个小时。
答案 3 :(得分:-1)
compileJava {
options.compilerArgs.addAll(['--release', javaVersion])
}