【问题标题】:Spring Boot App - Fails to bootRunSpring Boot 应用程序 - 无法启动运行
【发布时间】:2015-08-23 08:57:37
【问题描述】:

我正在尝试在 Mac 中使用 Gradle 创建一个简单的 Spring Boot 应用程序。 在 gradle bootRun 上,我收到以下错误:

FAILURE:构建失败并出现异常。

  • 出了什么问题: 任务“:bootRun”执行失败。

    进程 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java'' 以非零退出值 1 结束

在以下位置引发异常: 2015-08-23 01:37:57.989 WARN 6186 --- [main] ationConfigEmbeddedWebApplicationContext:上下文初始化期间遇到异常-取消刷新尝试

org.springframework.beans.factory.BeanCreationException:创建名为“embeddedServletContainerCustomizerBeanPostProcessor”的bean时出错:bean初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' 的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为 'org.springframework.cache.annotation.ProxyCachingConfiguration' 的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配方法:void org.springframework.cache.annotation.AbstractCachingConfiguration.setConfigurers(java.util.Collection);嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为 'org.springframework.cloud.aws.cache.config.annotation.ElastiCacheCachingConfiguration' 的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 org.springframework.cloud.aws.core.env.stack.ListableStackResourceFactory org.springframework.cloud.aws.cache.config.annotation.ElastiCacheCachingConfiguration。堆栈资源工厂;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类 org.springframework.cloud.aws.context.config.annotation.ContextStackConfiguration 中定义名称为“stackResourceRegistryFactoryBean”的 bean 创建错误:通过工厂方法进行 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.cloud.aws.core.env.stack.config.StackResourceRegistryFactoryBean]:工厂方法“stackResourceRegistryFactoryBean”抛出异常;嵌套异常是 java.lang.IllegalArgumentException: No valid instance id defined 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)

build.gradle 如下所示:

buildscript {
    repositories {
        jcenter()
        maven { url "http://repo.spring.io/snapshot" }
        maven { url "http://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.0.BUILD-SNAPSHOT")
        classpath("io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE")
    }
}
apply plugin: 'java'
//apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: "io.spring.dependency-management"

//sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
    baseName = 'myApp'
    version =  '0.0.1-SNAPSHOT'

}

repositories {
    //mavenCentral()
    jcenter()
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    maven { url "http://repo.spring.io/release/" }
}

dependencyManagement {
     imports {
          mavenBom 'org.springframework.cloud:spring-cloud-aws:1.0.2.RELEASE'
     }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework:spring-jdbc")
    compile("org.springframework.boot:spring-boot-starter-jdbc")
    compile("org.springframework.cloud:spring-cloud-starter-aws")
    compile("org.springframework.cloud:spring-cloud-aws-jdbc")
    compile("org.springframework.boot:spring-boot-starter-undertow")
    compile("postgresql:postgresql:9.0-801.jdbc4")

    testCompile("org.springframework.boot:spring-boot-starter-test")
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

这里有什么帮助吗?

【问题讨论】:

    标签: spring gradle spring-boot build.gradle spring-cloud


    【解决方案1】:

    异常的原因是配置文件中没有定义 EC2 环境配置。由于您在本地机器上运行此应用程序,我假设您不需要它。

    解决方案

    从你的 gradle 文件中删除以下内容,看看是否一切正常。

    compile("org.springframework.cloud:spring-cloud-starter-aws")
    compile("org.springframework.cloud:spring-cloud-aws-jdbc")
    

    上述依赖只适用于设计在EC2环境下运行的spring应用。

    希望这会有所帮助。

    【讨论】:

    • 我遇到了完全相同的问题,对我来说似乎是罪魁祸首的依赖是implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    【解决方案2】:

    src/main/resources

    打开文件application.properties

    并更改端口(根据您的行设置端口号),添加以下行: server.port=1337

    同样适用于我。

    最后输入:./gradlew bootRun

    【讨论】:

      【解决方案3】:

      ./gradlew bootRun 运行后我遇到了类似的错误 - 在我的情况下,问题出现在端口 8080 已在使用中, 默认情况下,Tomcat 服务器在 8080 上启动 - 更改/取消阻止端口足以解决此问题

      【讨论】:

        猜你喜欢
        • 2015-05-10
        • 2020-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-17
        • 1970-01-01
        相关资源
        最近更新 更多