2016-08-02 3 views
1

Ich habe ein Gradle-Projekt, das Spring Boot + Vaadin verwendet. Die Gradle Plugins für den Frühling-Boot und Vaadin wie folgt konfiguriert:Fehler beim Aktualisieren der Spring Boot-Version im Vaadin Gradle-Projekt

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" 
    } 
} 

Die Vaadin Version wird wie folgt angegeben:

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

Vaadin Abhängigkeiten werden wie folgt angegeben:

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}' 
    ... 
} 

Diese funktioniert gut, aber sobald ich die Spring Boot Version zu

ändern 10
 springBootVersion = '1.4.0.RELEASE' 

dann bekomme ich den Fehler:

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

aktualisieren

Groovy (die Gradle verwendet) unterstützt String Interpolation nur dann, wenn doppelte Anführungszeichen ("), so die Vaadin Abhängigkeiten Wechsel zu

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}" 
    ... 
} 

behebt es. Nun die eigentliche Frage ist, warum die einfachen Anführungszeichen gut funktionieren, wenn ich Spring Boot auf 1.3.7-RELEASE herabstufen.

+0

Ich bin kein Experte gradle zu erhalten begonnen, aber zu einem schnellen Blick sieht es aus wie es das '$ {} vaadin.version nicht ist ersetzt' im 'kompilieren‚com. vaadin: vaadin-server: $ {vaadin.version} ''. Können Sie versuchen, das [einfache Anführungszeichen ('' ') durch doppelte Anführungszeichen (' "')] zu ersetzen (http://stackoverflow.com/questions/6761498/whats-the-difference-of-strings-within-single-or) -double-quotes-in-groovy)? Das hat bei mir vor Ort mit einem Schnelltest funktioniert. Ansonsten kannst du die ganze Build-Datei teilen? – Morfic

+0

Inzwischen habe ich das auch herausgefunden: es funktioniert zwar mit doppelten Anführungszeichen funktioniert auch in einfachen Anführungszeichen mit der älteren Spring Boot Version ... keine Ahnung, wie die beiden zusammenhängen – herman

+0

Hmm nur ein wilder Gedanke, vielleicht waren die Deps schon im lokalen Repo, so dass man sie erst wieder herunterladen müsste, wenn man sich umschaltet Die neuere Boot-Version? Weird irgendwie ... – Morfic

Antwort

Verwandte Themen