java.lang.ClassNotFoundException: retrofit2.Retrofit$Builder解决思路
ClassNotFoundException报错
- 具体问题
- 报错详情
- 推测可能是jar包问题
- 问题总结自定义依赖缺少依赖jar
具体问题
Caused by: java.lang.NoClassDefFoundError: retrofit2/converter/simplexml/SimpleXmlConverterFactory
报错详情
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: retrofit2/Retrofit$Builderat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)...
java.lang.NoClassDefFoundError: retrofit2/Retrofit$Builder
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006)
推测可能是jar包问题
Retrofit是一个自定义jar包中的pom依赖(jar包被引入到项目中依赖)。
<dependency><groupId>com.squareup.retrofit2</groupId><artifactId>retrofit</artifactId><version>2.5.0</version></dependency>
打开terminal,定位到工程pom.xml所在的目录,执行 mvn dependency:tree 打印maven依赖关系树 。
mvn dependency:tree
如果你的操作系统环境定义了多个本地maven repo的配置,则需要在后面带上你的setttings.xml配置。
例如:
mvn dependency:tree -settings C:\Users\z00402970\2.0_iocm\settings.xml
打印结果:
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< net.ering.van:van-share >-----------------------
[INFO] Building van-lte-boot 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ van-share ---
[INFO] net.ering.van:van-share:jar:0.0.1-SNAPSHOT
[INFO] +- org.testng:testng:jar:6.9.10:test
[INFO] | +- com.beust:jcommander:jar:1.48:test
[INFO] | \- org.beanshell:bsh:jar:2.0b4:test
[INFO] +- org.mockito:mockito-all:jar:1.10.19:test
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.0.4.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.0.4.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.0.4.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
[INFO] | | | | \- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
...
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.321 s
[INFO] Finished at: 2020-10-14T15:28:11+08:00
[INFO] ------------------------------------------------------------------------
打印结果中检索servlet
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
发现其他的基本都是compile,而servlet是provided结尾,是项目pom中加上了scope限制
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet-version}</version><scope>provided</scope></dependency>
回到报错信息第一行,鼠标点击显示如下:
说明tomcat中也有servlet-api包,provided可以避免发生冲突。
因为provided表示该包只在编译和测试的时候用,所以,当启动tomcat的时候,tomcat中的servlet-api就不会和javax.servert的依赖冲突了。
这个provided的只在编译和测试期有效,已提供范围的依赖在编译classpath 可用,运行时不可用。并且不被传递。
问题总结自定义依赖缺少依赖jar
最后发现是引入的自定义依赖的源码缺少了Retrofit的依赖的引入。
java.lang.ClassNotFoundException: retrofit2.Retrofit$Builder解决思路相关推荐
- storm和kafka集成报java.lang.ClassNotFoundException: kafka.api.OffsetRequest解决方法
添加依赖 <dependency><groupId>org.apache.storm</groupId><artifactId>storm-kafka& ...
- Spark:Caused by: java.lang.ClassNotFoundException: scala.Product$class解决
今天使用Spark进行RDD操作,当我开始运行程序时,出现Caused by: java.lang.ClassNotFoundException: scala.Product$class, 我最后检查 ...
- java.lang.ClassNotFoundException: okio.ForwardingTimeout 已解决
这个问题发现是由于版本问题引起的,下面是我用的两个jar源码对比: 先看看okio-1.13.0.jar的,会发现在forwardingSource下面有ForwardingTimeout这个类 下面 ...
- Android <java.lang.ClassNotFoundException:Didn‘t find class ‘XXX‘ on path:DexPathList> 解决
Android <java.lang.ClassNotFoundException:Didn't find class 'XXX' on path:DexPathList> 解决 如图:问 ...
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法 java.lang.ClassNotFoundException: com.m ...
- IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)...
问题详情 运行出现log4j的问题 "C:\Program Files\Java\jdk1.8.0_66\bin\java" -Didea.launcher.port=7533 & ...
- java.lang.classnotfoundexception解决方法
java.lang.classnotfoundexception解决方法 参考文章: (1)java.lang.classnotfoundexception解决方法 (2)https://www.cn ...
- Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法
Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法 参考文章: (1)Idea运行web项目时,提示j ...
- jsp项目中连接数据库解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的问题
jsp项目中连接数据库解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的问题 参考文章: (1)jsp项目中连接数据库解决java.l ...
最新文章
- 单片微型计算机系统应用和开发特点,单片微机原理及应用 徐春辉 电子工业出版社习题答案.doc...
- C# 循环语句 for循环
- 中国SaaS死或生之七:死生非大事,利益最相关
- IDEA开发工具的学习
- mysql mycat docker_docker-mycat-mysql
- centos7.2 部署k8s集群
- 按键精灵post教程_安卓按键精灵教程VIP按键精灵辅助post视频教程大漠插件编程实战...
- 几种常用的PID控制算法
- Mysql 当前月每天累计统计,Mysql 本月第一天
- 计算机字的符号,特殊符号图案大全
- 一张图告诉你三大运营商2G/3G/4G频率分配和网络制式
- 中国互联网公司如何进军海外,先行者六点血泪教训
- 佛祖保佑 永无shell
- 好看的css下拉框样式,实用的漂亮的下拉框-CUSTOM DROP-DOWN LIST STYLING
- 网络天才网页中文版_akinator官方版下载_akinator中文版在线玩-网络天才中文版下载网页版 - Win7旗舰版...
- java框架013——Spring AOP面向切面编程
- 关于线性回归和逻辑回归一些深入的思考
- 老李分享:robotium常用API 1
- 学计算机有名学校有哪些,计算机学校哪所有名?
- 关于vim gf问题
热门文章
- [3/21]Windows Server 2008时钟方面的改进展示
- JavaScript基础之Number对象和Math对象
- xib中UIScrollView固定底部内容
- 【Microsoft Azure学习之旅】测试消息队列(Service Bus Queue)是否会丢消息
- scoket多线程例子
- 关于ORA-01187: cannot read from file because it failed verification tests 的处理方法
- Oracle SQL语句执行步骤
- 多媒体融合通信平台促进公网和专网的互联互通
- python图形界面编程库_Python支持哪些图形界面的第三方库
- Java并发编程之线程池ThreadPoolExecutor解析