2016-01-22 3 views
1

Я довольно новичок как в Spring Boot, так и в Gradle. В попытке упростить мой скрипт build.gradle я столкнулся с следующей проблемой. Поскольку я использую Gradle 2.5, я решил использовать новые плагины DSL от Gradle. К сожалению, один из плагинов, который мне нужно использовать, spring-boot-gradle-plugin, не был включен в портал плагинов Gradle. Чтобы обойти это, я использовал старый синтаксис buildscript {...}, apply plugin: для этого плагина и указал остальные мои плагины в новом синтаксисе plugins {...}. В результате появился следующий скрипт сборки:Невозможно комбинировать плагины DSL с блоком buildscript

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath: "org.springframework.boot:spring-boot-gradle-plugin:1.3.2.RELEASE" 
    } 
} 

plugins { 
    id "io.spring.dependency-management" version "0.5.4.RELEASE" 
    id "java" 
    id "idea" 
} 

apply plugin: 'spring-boot' 

repositories { 
    mavenCentral() 
} 

dependencyManagement { 
    imports { 
     mavenBom 'com.vaadin:vaadin-bom:7.6.1' 
    } 
} 

dependencies { 
    compile("org.springframework.boot:spring-boot-starter-data-jpa") 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
    compile("com.vaadin:vaadin-spring-boot-starter") 
    compile("com.h2database:h2") 
    testCompile("junit:junit") 
} 

jar { 
    baseName = 'my-spring-boot-app' 
    version = '0.1.0' 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

task wrapper(type: Wrapper) { 
    gradleVersion = '2.3' 
} 

Однако этот скрипт сборки не работает. При запуске gradle build я получаю ошибку Plugin with id 'spring-boot' not found. Является ли это следствием попытки использовать эти два синтаксиса в сочетании, или я просто делаю что-то глупое?

ответ

1

Я был глупым. Синтаксическая ошибка в строке 6. Не должно быть двоеточия после classpath.