6

我想为使用 Gradle 构建的Java 库定义目标兼容性。因此,我添加了 Java 插件文档中的以下块。

apply plugin: 'java'

// ...

compileJava {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

当我组装项目时,会发生以下错误

在根项目上找不到参数 [1.7] 的方法 sourceCompatibility()


有关的

4

1 回答 1

9

您正在尝试传递错误类型的值。sourceCompatibility并且targetCompatibility应该是字符串,但JavaVersion.VERSION_1_7不是字符串,而只是使用覆盖toString()方法的枚举。这就是为什么你有for arguments [1.7]例外文本。试着这样做:

compileJava {
    sourceCompatibility JavaVersion.VERSION_1_7.toString()
    targetCompatibility JavaVersion.VERSION_1_7.toString()
}

或者

compileJava {
    sourceCompatibility "$JavaVersion.VERSION_1_7"
    targetCompatibility "$JavaVersion.VERSION_1_7"
}

或者只是将其移出compileJava脚本主体,就像它通常使用的那样,例如:

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
于 2015-10-23T08:39:03.937 回答