web-dev-qa-db-ja.com

Gradle Spring依存関係プラグインを機能させる方法は?

私はこれでそのような初心者なので、問題はコンテキストです。彼らの例は私のビルドと一致しません。私はjarをローカルにインストールしたので、間違いなく利用できるはずです。

私のプロジェクトは次のようになります。

    allprojects  {
        apply plugin: 'maven'
        apply plugin: "io.spring.dependency-management"

        group = 'com.wnp'
        version = '6.5.0-SNAPSHOT'
    }

    subprojects {

        apply plugin: 'Java'

        sourceCompatibility = System.getProperty("Java.version")
        targetCompatibility = System.getProperty("Java.version")

        repositories {
            mavenLocal()
            mavenCentral()
            jcenter()         
        }

        dependencyManagement {
            imports {
                mavenBom 'org.springframework.ws:spring-ws:2.1.4.RELEASE'
                mavenBom 'org.jboss.as:jboss-as-jms-client-bom:7.5.0.Final-redhat-21'
            }

            dependencies {
                dependency "antlr:antlr:2.7.7" 
       }

    }

apply plugin: "io.spring.dependency-management"

彼らのプロジェクトは次のようになります。

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

私がシステムから得ているのは:

原因:org.gradle.api.plugins.UnknownPluginException:ID'io.spring.dependency-management 'のプラグインが見つかりません。

手がかり? 「buildscript」は何を表していますか?それは仕事ですか?私は「依存関係」セクションをほぼどこにでも配置しようとしました。同じことが「applyplugin:」行にも当てはまります。私のdependencyManagementセクションは適切な場所にありますか?私が見続けていることの1つは、「依存関係をクロージャに適用できない」ということです。これは、エラーメッセージに関する限り非常に役に立ちません。

11
user447607

あなたがする必要があるのはあなたが探しているプラ​​グインを持っているbuild.gradle自体の依存関係を定義することです。例:

buildscript {
   repositories {
      mavenCentral()
   }

   dependencies {
      classpath 'io.spring.gradle:dependency-management-plugin:0.5.3.RELEASE'
   }
}

allprojects  {
   apply plugin: 'maven'
   apply plugin: "io.spring.dependency-management"

   group = 'com.wnp'
   version = '6.5.0-SNAPSHOT'
}
7
Opal

公式ユーザーガイド 、「外部依存関係」というセクションをご覧ください。それによると:

ビルドスクリプトで外部ライブラリを使用する必要がある場合は、ビルドスクリプト自体でスクリプトのクラスパスに追加できます。これは、buildscript()メソッドを使用して行い、ビルドスクリプトのクラスパスを宣言するクロージャを渡します。

あなたの場合、プラグインは外部依存関係であり、このプラグインを適用する必要があるすべてのプロジェクトにbuildscriptセクションを提供する必要があります。

2
Stanislav