2015-11-10 25 views
6

Ponieważ jestem na tym początku, problemem jest kontekst. Ich przykład nie pasuje do mojej kompilacji. Zainstalowałem słoik lokalnie, więc zdecydowanie powinien być dostępny.Jak uzyskać wtyczkę zależną od Gradle Spring do pracy?

Mój projekt wygląda tak:

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" 

Ich projekt wygląda tak:

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" 

Co dostaję od systemu jest:

Spowodowany przez: org.gradle .api.plugins.UnknownPluginException: Nie znaleziono wtyczki z id 'io.spring.dependency-management'.

Wskazówki? Co oznacza "buildscript"? Czy to jest zadanie? Starałem się umieszczać sekcję "zależności" niemal wszędzie. To samo dotyczy linii "Zastosuj wtyczkę:". Czy moja sekcja zarządzania zależnością jest we właściwym miejscu? Jedną z rzeczy, które widzę, to "zależności nie mogą być zastosowane do zamknięcia", co jest dość pomocne, jeśli chodzi o komunikaty o błędach.

Odpowiedz

4

To, co musisz zrobić, to zdefiniować zależność dla samej build.gradle, która ma wtyczkę, której szukasz. Może to być np .:

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' 
} 
+0

Do czego służy ten buildscript? – user447607

+0

Gdybym nie pisał 15 znaków, napisałbym: * Tak *. Więc tak. – Opal

+0

Cóż IntelliJ mówi, że nie mogę zastosować "zależności" do "zamknięcia". – user447607

1

Spójrz na official user guide, sekcja o nazwie „Zależności zewnętrzne”. Zgodnie z nim:

Jeśli skrypt budowy wymaga użycia bibliotek zewnętrznych, możesz dodać je do ścieżki klas skryptu w samym skrypcie budowania. Robisz to za pomocą metody buildscript(), przekazując zamknięcie, które deklaruje ścieżkę klas kompilacji.

W twoim przypadku wtyczka jest zewnętrzną zależnością i musisz podać sekcję buildscript dla całego projektu, który musi zastosować tę wtyczkę.