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