尝试使用 gradle bootrun 编译并获取找不到 spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT

Posted

技术标签:

【中文标题】尝试使用 gradle bootrun 编译并获取找不到 spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT【英文标题】:Trying to compile with gradle bootrun and get cannot find spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT 【发布时间】:2019-04-29 13:13:36 【问题描述】:

我在 cmd 提示符窗口中使用“gradle bootrun”运行我的 gradle 项目。

我得到的错误是这样的:

出了什么问题: 配置根项目“kyp4-backend”时出现问题。

无法解析配置“:classpath”的所有工件。 找不到 org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT。 在以下位置搜索:

https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-gradle-plugin/1.4.0.BUILD-SNAPSHOT/maven-metadata.xml https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-gradle-plugin/1.4.0.BUILD-SNAPSHOT/spring-boot-gradle-plugin-1.4.0.BUILD-SNAPSHOT.pom https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-gradle-plugin/1.4.0.BUILD-SNAPSHOT/spring-boot-gradle-plugin-1.4.0.BUILD-SNAPSHOT.jar 要求: 项目:

************ GRADLE *****************

这是我的 build.gradle 文件:

buildscript 
    ext 
        springBootVersion = '1.5.3.RELEASE'
    
    repositories 
        mavenCentral()
    
    dependencies 
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT") ***<-- THIS DOESN'T EXIST on repo.Spring.io. Only 1.2.0 = 5.x*** or ***<-- on repo.spring.io***
    


apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'spring-boot' 
apply plugin: 'org.springframework.boot'
//apply plugin: 'war'

version = '0.0.1'
sourceCompatibility = 1.8

repositories 
    jcenter()
    mavenCentral()
    flatDir 
        dirs 'repository'
    
    mavenCentral()

ext 
    springCloudVersion = 'Edgware.SR3'


dependencies 
    compile('org.springframework.boot:spring-boot-starter-aop')
    compile('org.springframework.boot:spring-boot-starter-security')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile("org.springframework.boot:spring-boot-devtools")
    compile('org.springframework.boot:spring-boot-starter-actuator')

    compile group: 'joda-time', name: 'joda-time'

    compile group: 'com.myfolder', name: 'all_pfs', version: '7.1.9'
    compile group: 'com.myfolder', name: 'pfs-client', version: '7.1.9'
    compile group: 'com.myfolder.pfs.wic', name: 'pfs-wic', version: '1.1.0.RC3'
    compile group: 'com.picketlink.picketlink', name: 'picketlink-fed', version: '2.0.3-SNAPSHOT'

    compile group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
    compile group: 'commons-lang', name: 'commons-lang', version: '2.6'
    compile group: 'org.apache.httpcomponents', name: 'httpclient'
    compile group: 'xstream', name: 'xstream', version: '1.2.2'
    compile group: 'javax.ejb', name: 'javax.ejb-api', version: '3.2'

    compile group: 'io.springfox', name: 'springfox-swagger2', version:'2.6.1'
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version:'2.6.1'

compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'

compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.8.3'

compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.13'

compile group: 'org.springframework', name: 'spring-messaging', version: '4.2.6.RELEASE'


compile group: 'org.springframework', name: 'spring-websocket', version: '4.3.11.RELEASE'

compile('org.springframework.boot:spring-boot-starter-test')

compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.5.6.RELEASE'


testCompile group: 'com.microsoft.sqlserver', name: 'sqljdbc4', version: '4.0'

    compile name: "sqljdbc4-4.0"

    //Added to implement slf4j logger
    compile group: 'org.slf4j', name:'slf4j-api', version: '1.7.2'                                                                                                                                                                            
    //compile group: 'ch.qos.logback', name:'logback-classic', version: '1.0.9'                                                                                                                                                                 
    //compile group: 'ch.qos.logback', name:'logback-core', version: '1.0.9' 


// jsoup html parser library @ https://jsoup.org/
compile 'org.jsoup:jsoup:1.11.3'

compile group: 'com.datastax.cassandra',name: 'cassandra-driver-core',version:'3.2.0'
compile('org.springframework.boot:spring-boot-starter-data-cassandra')

compile('org.projectlombok:lombok:1.18.2')

compile group: 'com.myfolder.service.fusion.audit.client', name: 'audit-client', version: '2.0.1.RELEASE'

compile group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: '4.1.3'



dependencyManagement 
    imports 
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion"
    

但这一切都是以org.springframework.boot/.context/web.client开头的不存在:

这里有几张图片要展示:

我删除了 Netbeans CACHE 并让 Netbeans 重建项目和索引......仍然没有乐趣!

任何帮助或见解将不胜感激。

【问题讨论】:

【参考方案1】:

您已将 buildscript 配置为使用 Maven Central 作为其唯一存储库:

repositories 
    mavenCentral()

你还配置了它依赖于 Spring Boot 的 Gradle 插件的 1.4.0.BUILD-SNAPSHOT:

dependencies 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT")

快照不会发布到 Maven Central,只有版本会在那里发布。里程碑和快照发布到https://repo.spring.io。具体来说,快照可从https://repo.spring.io/snapshot 获得,里程碑可从https://repo.spring.io/milestone 获得。你可以找到Boot的Gradle插件here的1.4.0.BUILD-SNAPSHOT。

如果您想使用 Spring Boot 的快照版本,您应该将 https://repo.spring.io/snapshot 和 https://repo.spring.io/milestone 添加到配置的存储库中:

repositories 
    mavenCentral()
    maven  url 'https://repo.spring.io/snapshot' 
    maven  url 'https://repo.spring.io/milestone' 

里程碑存储库是必需的,因为 Spring Boot 快照可能具有里程碑依赖项。

或者,特别是考虑到 1.4.0 现在相当旧且不再受支持,您可能希望升级到更新的版本。在撰写本文时,1.5.17.RELEASE 是 1.x 行中的最新版本,2.1.0.RELEASE 是 2.x 行中的最新版本。

您可以像这样升级到 1.5.17.RELEASE:

buildscript 
    ext 
        springBootVersion = '1.5.17.RELEASE'
    
    repositories 
        mavenCentral()
    
    dependencies 
        classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
    

【讨论】:

安迪!你这个大男人!谢谢你。正是这些简单的东西使它起作用。现在我只需要找到一些 JAVA jar 文件,一切都会好起来的。我找不到以下内容: org.springframework.cassandra.config.CassandraCqlClusterFactoryBean;并导入 org.springframework.cassandra.core.keyspace.CreateKeyspaceSpecification;我一直发现的只是我已经拥有的 import org.springframework.data.cassandra。问题是, core.keyspace.CreateKeySpaceSpecification 和 config.CassandraCqlClusterFactoryBean 不存在。想法? 我会问一个单独的问题,因为它似乎是一个单独的问题。我还建议不要将 jars 添加到 JRE 的 lib 目录中。 谢谢,安迪。寻找那个,我会给出这个问题的内幕。

以上是关于尝试使用 gradle bootrun 编译并获取找不到 spring-boot-gradle-plugin:1.4.0.BUILD-SNAPSHOT的主要内容,如果未能解决你的问题,请参考以下文章

gradle bootRun 执行失败

如何创建将使用特定配置文件执行 bootRun 的 gradle 任务?

并行启动多个 Gradle "spring-boot" 插件 "bootRun" 任务

调试 gradle bootRun 有 server=n

调试 gradle bootRun 有 server=n

spring gradle bootrun 忽略 web xml / 自定义调度程序 servlet 配置 NoSuchBeanDefinitionException