gpt4 book ai didi

spring-boot - 发现了@EnableCircuitBreaker注释,但没有实现。您是否忘了包括一个启动器?

转载 作者:行者123 更新时间:2023-12-03 04:58:18 27 4
gpt4 key购买 nike

尝试从SpringBoot + SpringCloud应用程序构建ShadowJar。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;

@EnableCircuitBreaker
@SpringBootApplication
public class App {

public static void main(String[] args) {
SpringApplication.run(App.class);
}

}

应用程序可以在IDE中成功启动,但是构建和运行 jar会导致以下错误:
java.lang.IllegalStateException: Annotation @EnableCircuitBreaker found, but there are no implementations. Did you forget to include a starter?
at org.springframework.cloud.commons.util.SpringFactoryImportSelector.selectImports(SpringFactoryImportSelector.java:76)
at org.springframework.context.annotation.ConfigurationClassParser$DefaultDeferredImportSelectorGroup.process(ConfigurationClassParser.java:842)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:828)
at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:563)
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:188)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:271)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:91)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:692)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:530)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)

Gradle 设置:
plugins {
id 'java'
id 'application'
id "com.github.johnrengelman.shadow" version "4.0.2"
}

sourceCompatibility = 1.10

shadowJar {
baseName = 'bundle'
version = '1.0-SNAPSHOT'
zip64 = true
manifest {
attributes 'Main-Class': 'package.App'
}
}

repositories {
mavenCentral()
}

dependencies {
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.6.RELEASE'
compile group: 'org.projectlombok', name: 'lombok', version: '1.18.2'
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client',
version: '2.0.2.RELEASE', { exclude group: 'com.google.code.gson', module: 'gson' }
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix', version: '2.0.2.RELEASE'
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth', version: '2.0.2.RELEASE'
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-zipkin', version: '2.0.2.RELEASE'
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.0.6.RELEASE'
testCompile group: 'junit', name: 'junit', version: '4.12'
}

缺少哪个启动器/依赖项?

最佳答案

这是我的配置。

        buildscript {
ext {
springBootVersion = '2.0.5.RELEASE'
}
repositories {
mavenLocal()
mavenCentral()

}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.learning.microservices'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
mavenLocal()
mavenCentral()
}


ext {
springCloudVersion = 'Finchley.SR1'
}

dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.cloud:spring-cloud-starter-config')
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
compile('org.springframework.cloud:spring-cloud-starter-netflix-hystrix')
compile('org.springframework.cloud:spring-cloud-starter-sleuth')
compile('org.projectlombok:lombok:1.16.8')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('com.learning.microservices:interfaces:1.0.0')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
runtime('com.h2database:h2')
testCompile('org.springframework.boot:spring-boot-starter-test')
}

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

您正在使用spring-boot-gradle-plugin吗?启动spring boot cloud应用程序很有帮助。还应考虑向用户提供Spring Cloud依赖关系。

Here您可以进一步了解它。

关于spring-boot - 发现了@EnableCircuitBreaker注释,但没有实现。您是否忘了包括一个启动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53170421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com