2016-08-02 70 views
1

我有一个使用Spring Boot + Vaadin的Gradle项目。 这样构成的摇篮插件弹簧引导和Vaadin如下:在Vaadin Gradle项目中升级Spring Boot版本时出错

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

此:

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

Vaadin依赖规定如下:

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版本规定如下:工作正常,但只要我将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

更新

的Groovy(其中摇篮使用)支持路线插值使用双引号只有在(“),以便改变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-single-or -double-quotes-in-groovy)?这对我本地的快速测试非常有用,否则你可以共享整个构建文件吗? – Morfic

+0

同时我也想到了这一点:它的确适用双引号,但它也可以用单引号和Spring Boot版本一起工作......不知道这两者是如何相关的。 – herman

+0

嗯,只是一个疯狂的想法,也许deps已经在本地回购,所以它不需要重新下载,直到你切换到更新的启动版本?!奇怪的无论如何... – Morfic

回答

相关问题