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、文字列ではなく、オーバーライドされたメソッドを使用した単なる列挙です。そのため、例外テキストが含まれています。次のようにしてみてください:targetCompatibilityJavaVersion.VERSION_1_7toString()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 に答える