2

org.springframework.beans.factory.UnsatisfiedDependencyException正在SpringClientSideRibbonApplication.java上课。我认为没有错误,但我不知道为什么会出现此异常。请帮我。我正在使用 STS IDE。

我的配置.java

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.IPing;
import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.PingUrl;
import com.netflix.loadbalancer.WeightedResponseTimeRule;
public class MyConfiguration {
@Autowired
IClientConfig ribbonClientConfig;   
@Bean
public IPing ribbonPing(IClientConfig config) {
    return new PingUrl();
}

@Bean
public IRule ribbonRule() {
  return new WeightedResponseTimeRule();
}


}

SpringClientSideRibbonApplication.java

package com.javasampleapproach.ribbon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.ribbon.RibbonClient;

@SpringBootApplication
@RibbonClient(name = "helloworld", configuration = 
MyConfiguration.class)
public class SpringClientSideRibbonApplication {

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

WebController.java

package com.javasampleapproach.ribbon;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
public class WebController {
@LoadBalanced
@Bean
RestTemplate restTemplate() {
    return new RestTemplate();
}
@Autowired
RestTemplate restTemplate;
@RequestMapping("/helloworld")
public String home() {      
    return  
this.restTemplate.getForObject("http://helloworld/greeting", 
String.class);
}
}

错误信息

Error creating bean with name 'myConfiguration': Unsatisfied 
dependency expressed through field 'ribbonClientConfig'; nested 
exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'ribbonClientConfiguration': Invocation 
of init method failed; nested exception is 
java.lang.NoClassDefFoundError: 
org/apache/commons/configuration/AbstractConfiguration

应用程序.yml

spring:
application:
name: Ribbon-Client

helloworld:
ribbon:
eureka:
  enabled: false
listOfServers: localhost:8090,localhost:8091,localhost:8092
ServerListRefreshInterval: 15000

server:
port: 8080

依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
        <version>1.3.5.RELEASE </version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
   </dependencies>
4

1 回答 1

1

他们没有编码错误。问题出在我的 Maven 依赖项中。我的互联网很慢,所以 Maven 下载了损坏的 jar 文件。我尝试使用 Gradle。现在没事了

于 2017-11-13T09:54:33.853 回答