java.lang.NoClassDefFoundError: com/netflix/zuul/ZuulFilter

启动zuul服务报错:java.lang.NoClassDefFoundError: com/netflix/zuul/ZuulFilter

由于刚开始研究zuul组件,所以也不知道这个过滤器是属于哪个jar包,虽然知道可能是少了包含这个过滤器的jar包导致的项目启动出错,但是还是研究了一会才解决。

我们使用spring cloud zuul组件的时候,一般需要在引入Eureka的jar包下,还需引入zuul组件的jar包,如下:

    
             
        org.springframework.cloud  
            spring-cloud-starter-eureka  
        
 
        
        

然后编写zuul的配置和Eureka的配置:

        zuul:
          routes:
            api-a:
              path: /api-a/**
              serviceId: emos-user-center
      
        zuul.PreRequestLogFilter.pre.disable: true

        eureka:
          client:
            service-url:

              defaultZone: http://user:password@localhost:8020/eureka

然后在启动类上添加注解:

        @EnableZuulProxy

        @SpringCloudApplication

最后启动项目,发现报以上错误,这就是因为包含过滤器的包没有引入

引入如下jar包再启动就可以了:

    
            com.netflix.zuul
            zuul-core
            1.3.0

        


EMOS-SCHEDULE-CENTER n/a (1) (1) UP (1) - DESKTOP-53NTMC1:emos-schedule-center:8030
EMOS-USER-CENTER n/a (1) (1) UP (1) - emos-user-center:8010
可以看到zuul的服务也被注册到注册中心了


你可能感兴趣的:(java开发代码)