web-dev-qa-db-ja.com

「提供された」メソッドをサポートする適切なGradleプラグインはどれですか?

現在、Project LombokヘルパーをGradleプロジェクトに含めようとしていますが、build.gradle内で Gradleの手順 を実行しているときに、次のエラーが発生します。

エラー:(11、0)ビルドスクリプトエラー、サポートされていないGradle DSLメソッドが見つかりました: 'provided()'!

考えられる原因は次のとおりです。

  • メソッドが存在しないGradleバージョンを使用している
  • メソッドを提供するGradleプラグインを適用しなかった
  • またはビルドスクリプトに誤りがあります

私の現在のbuild.gradleファイル:

apply plugin: 'Java'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    provided "org.projectlombok:lombok:1.14.4"
    testCompile group: 'junit', name: 'junit', version: '4.11'
}
30

リリース2.12以降、providedスコープは compileOnly と呼ばれます


古い答え:

提供されたスコープは「war」プラグインで使用できます( http://www.gradle.org/docs/current/userguide/war_plugin.html 、providedCompile)「war」を使用したくない場合'プラグイン、'提供された 'スコープに関して未解決のJIRA問題もあります http://issues.gradle.org/browse/GRADLE-784 、回避策として独自の構成を作成することをお勧めします:

configurations {
   provided
}

コンパイルクラスパスで使用するように設定します。

sourceSets {
    main {
        compileClasspath += configurations.provided 
    }
}
44
endriu_l

アプリレベルのGradleファイルを確認します。次のような行がある場合:

compile dependency.gson provided dependency.javaxAnnotation

次のように編集します。

compile dependency.gson 
provided dependency.javaxAnnotation

うまくいくはずです。

0