Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded

Exception in thread “main” java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/ServletRegistrationBean
这个问题是因为:
在 org.springframework.cloud.netflix.zuul.ZuulConfiguration位置里,引用的是
org.springframework.boot.context.embedded.ServletRegistrationBean这个类,
但是,这个类只有在springboot1.3.5.RELEASE中才有:

 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.3.5.RELEASE</version>
  <relativePath/> 
</parent>

但是,我不想引用这个落后的springboot,所以,如何保证引用指向1.5.4呢,引用的zuul类是在Netflix的1.1.0中,猜测这个版本可能与1.5.4不匹配,所以,升级到与1.5.4匹配的版本可能就能解决问题,所以,查看官网最新的是1.4.4,然后进行升级(事实上最后没有使用这个方案,可能是我的IDE的问题,升级后死活找不到jar包,具体报错是 has broken path ,最后干脆直接注释掉1.1.0的启动成功了,但是,如果注释掉,就没有了eureka的客户端发现,所以我想办法引用eureka的client包试试,后来,果然成功,zuul启动成功并成功被eureka所发现):

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-client -->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
   <version>1.4.4.RELEASE</version>
</dependency>

demo地址:https://github.com/yangsea/haiyang

注意:1.54的是这个: org.springframework.boot.web.servlet.ServletRegistrationBean;

posted @   oceanyang  阅读(578)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示