升级Vaadin Gradle项目中的Spring启动版本时出错

升级Vaadin Gradle项目中的Spring启动版本时出错,gradle,spring-boot,vaadin,spring-boot-gradle-plugin,Gradle,Spring Boot,Vaadin,Spring Boot Gradle Plugin,我有一个使用Spring Boot+Vaadin的Gradle项目。 Spring Boot和Vaadin的Gradle插件配置如下: buildscript { ext { springBootVersion = '1.3.7.RELEASE' } ... dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBoo

我有一个使用Spring Boot+Vaadin的Gradle项目。 Spring Boot和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 {
    version '7.6.8'
    widgetset 'com.vaadin.DefaultWidgetSet'
}
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}'
    ...
}
瓦丁版本规定如下:

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 {
    version '7.6.8'
    widgetset 'com.vaadin.DefaultWidgetSet'
}
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相关性的指定如下:

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 {
    version '7.6.8'
    widgetset 'com.vaadin.DefaultWidgetSet'
}
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引导版本更改为

       springBootVersion = '1.4.0.RELEASE'
然后我得到一个错误:

索引89处的路径中存在非法字符: ${vaadin.version}/vaadin服务器-${vaadin.version}.pom

更新

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

如果您使用的是最新的Spring Boot版本,那么您应该升级Gradle Vaadin插件。该插件的最新版本对Spring Boot有更好的支持


这是一个入门指南

如果您使用的是最新的Spring Boot版本,您应该升级Gradle Vaadin插件。该插件的最新版本对Spring Boot有更好的支持


下面是一个入门指南

我不是gradle专家,但快速浏览一下,它似乎没有取代
编译'com.vaadin:vaadin服务器:${vaadin.version}中的
${vaadin.version}
。你能试着用一个快速测试来替换在本地对我有效的吗?否则你能共享整个构建文件吗?与此同时,我也发现了这一点:它确实可以使用双引号。但它也可以使用单引号与较旧的Spring Boot版本…不知道两者之间有什么联系。嗯,也许只是一个疯狂的想法DEP已经在本地repo中了,所以在你切换到新的启动版本之前,它不需要重新下载它们?!奇怪的是…对于本地repo,你是说Gradle缓存?我不认为这是问题所在:我最近才升级到一个新的Vaadin版本,所以在那一点上它必须下载那个新版本,而且一切正常。a同样,更改Spring Boot版本不会更改Vaadin版本。正如我所说,我不是gradle专家,所以我通常对术语和功能感兴趣,但我假设它可能有一个本地repo/cache,它可以像maven一样下载工件。你能共享整个构建文件或类似文件来复制它吗?我之所以这样问,是因为在本地无论我使用什么版本,我都会遇到同样的错误,我对这种行为相当好奇。我不是gradle专家,但快速一看,它似乎没有取代
编译'com.vaadin:vaadin服务器:${vaadin.version}中的
${vaadin.version}
。你能试着用一个快速测试来替换在本地对我有效的吗?否则你能共享整个构建文件吗?与此同时,我也发现了这一点:它确实可以使用双引号。但它也可以使用单引号与较旧的Spring Boot版本…不知道两者之间有什么联系。嗯,也许只是一个疯狂的想法DEP已经在本地repo中了,所以在你切换到新的启动版本之前,它不需要重新下载它们?!奇怪的是…对于本地repo,你是说Gradle缓存?我不认为这是问题所在:我最近才升级到一个新的Vaadin版本,所以在那一点上它必须下载那个新版本,而且一切正常。a同样,更改Spring Boot版本不会更改Vaadin版本。正如我所说,我不是gradle专家,所以我通常对术语和功能感兴趣,但我假设它可能有一个本地repo/cache,它可以像maven一样下载工件。你能共享整个构建文件或类似文件来复制它吗?我之所以这样问,是因为在本地无论我使用什么版本,我都会遇到同样的错误,我对这种行为相当好奇。