2016-08-02 1 views
1

У меня есть проект Gradle, который использует Spring Boot + Vaadin. Плагины Gradle для Spring ботинке и Vaadin сконфигурированных следующим образом:ошибка при обновлении Spring Boot version в проекте Vaadin Gradle

buildscript { 
    ext { 
     springBootVersion = '1.3.7.RELEASE' 
    } 
    ... 
    dependencies { 
     classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" 
     classpath "fi.jasoft.plugin:gradle-vaadin-plugin:0.11.1" 
    } 
} 

версия Vaadin определяется следующим образом:

vaadin { 
    version '7.6.8' 
    widgetset 'com.vaadin.DefaultWidgetSet' 
} 

зависимости Vaadin определены следующим образом:

dependencies { 
    compile 'com.vaadin:vaadin-spring-boot-starter:1.0.0' 
    compile 'com.vaadin:vaadin-server:${vaadin.version}' 
    compile 'com.vaadin:vaadin-client:${vaadin.version}' 
    ... 
} 

Этот отлично работает, но как только я изменю версию Spring Boot на

 springBootVersion = '1.4.0.RELEASE' 

тогда я получаю ошибку:

Illegal character in path at index 89: https://oss.sonatype.org/content/repositories/vaadin-snapshots/com/vaadin/vaadin-server/ ${vaadin.version}/vaadin-server-${vaadin.version}.pom

Update

Groovy (который использует Gradle) поддерживает интерполяции строк только при использовании двойных кавычек (") таким образом, изменение зависимостей Vaadin для

dependencies { 
    compile "com.vaadin:vaadin-spring-boot-starter:1.0.0" 
    compile "com.vaadin:vaadin-server:${vaadin.version}" 
    compile "com.vaadin:vaadin-client:${vaadin.version}" 
    ... 
} 

исправляет его. Теперь реальный вопрос заключается в том, почему одиночные кавычки отлично работают, если я понижу Spring Boot до 1.3.7-RELEASE.

+0

Я не Gradle эксперт, но на быстрый взгляд, похоже, это не подставляя '$ {vaadin.version}' в 'компилировать«ком. Vaadin: Vaadin-сервер: $ {vaadin.version} ' '. Можете ли вы попробовать заменить [одиночную кавычку ('' ') двойными кавычками (' '')] (http://stackoverflow.com/questions/6761498/whats-the-difference-of-strings-within-singleor или -double-quotes-in-groovy)? Это сработало для меня локально с быстрым тестом. В противном случае вы можете поделиться всем файлом сборки? – Morfic

+0

Тем временем я тоже понял это: он действительно работает с двойными кавычками. также работает с одинарными кавычками со старой версией Spring Boot ... не знаю, как эти два связаны. – herman

+0

Хм просто дикая мысль, возможно, депо были уже в локальном репо, поэтому не нужно было перезагружать их, пока вы не переключились на более новая версия для загрузки ?! В любом случае, weird ... – Morfic

ответ