Java NoSuchFieldError:默认\u不兼容\u改进

Java NoSuchFieldError:默认\u不兼容\u改进,java,spring-boot,spring-cloud-netflix,Java,Spring Boot,Spring Cloud Netflix,在Spring boot 2.3.3上试用Netflix hystrix时,出现以下错误- Main SimpleClientApplication.java具有以下注释 @SpringBootApplication @EnableCircuitBreaker @EnableHystrixDashboard ProductListController.java @RestController @EnableAutoConfiguration(exclude={freemakerautoco

在Spring boot 2.3.3上试用Netflix hystrix时,出现以下错误-

Main SimpleClientApplication.java具有以下注释

@SpringBootApplication
@EnableCircuitBreaker
@EnableHystrixDashboard
ProductListController.java

@RestController
@EnableAutoConfiguration(exclude={freemakerautoconfiguration.class})
公共类ProductListController{
@GetMapping
@HystrixCommand(fallbackMethod=“defaultProducts”)
公共列表cloudProductList(){
RestTemplate RestTemplate=新RestTemplate();
URI=URI.create(“http://localhost:8090/products");
返回restemplate.getForObject(uri,List.class);
}
公共产品列表(){
返回数组.asList(“SpringCloud”);
}
}
pom.xml

4.0.0 org.springframework.boot spring启动程序父级 2.3.3.2发布 com.demo 简单客户端应用程序 1 简单客户端应用程序 SpringBoot的演示项目

    <properties>
        <java.version>14</java.version>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.9</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-netflix-hystrix</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.9</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.3.3.RELEASE</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

14
Hoxton.SR8
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
SpringBootStarterWeb
org.springframework.cloud
spring cloud starter netflix hystrix
2.1.0.1发布
org.springframework.cloud
spring cloud starter netflix hystrix仪表板
org.springframework.boot
弹簧靴自动配置
自由标记
自由标记
2.3.9
org.springframework.boot
弹簧起动试验
测试
org.junit.vintage
朱尼特老式发动机
org.springframework.cloud
春云网飞hystrix
2.1.0.1发布
org.freemarker
自由标记
2.3.9
org.aspectj
aspectjweaver
1.9.6
org.springframework.boot
弹簧靴自动配置
2.3.3.2发布
org.springframework.cloud
spring云依赖关系
${spring cloud.version}
聚甲醛
进口
org.springframework.boot
springbootmaven插件

这是否回答了您的问题?看起来您正在使用不兼容的SpringCloud版本作为SpringBoot版本。您的依赖项显示cloud
2.1.0
,但您可能需要
2.2.0
或更新版本才能与spring boot
2.3.3
兼容。具体来说,您需要Hoxton版本
@RestController
@EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class })
public class ProductListController {

    @GetMapping
    @HystrixCommand(fallbackMethod = "defaultProducts")
    public List<String> cloudProductList() {

        RestTemplate restTemplate = new RestTemplate();
        URI uri = URI.create("http://localhost:8090/products");

        return restTemplate.getForObject(uri, List.class);
    }

    public List<String> defaultProducts() {
        return Arrays.asList("Spring Cloud");
    }
}
    <properties>
        <java.version>14</java.version>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.9</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-netflix-hystrix</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.9</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.3.3.RELEASE</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>