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的依赖的引入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

varnish排错

●Troubleshooting varnish&#xff08;varnish排错&#xff09;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />有时候varnish会出错&#xff0c;为了使您知道该检查哪里&#xff0c;您可以检查varnishlog&#xff0c;/var/log…

图像质量评估方法——结构相似性指数(SSIM)

结构相似性指数&#xff08;SSIM&#xff09;是一种全参考图像质量评估方法&#xff0c;用于比较两幅图像的相似性。 SSIM的计算涉及到亮度&#xff08;Luminance&#xff09;、对比度&#xff08;Contrast&#xff09;和结构&#xff08;Structure&#xff09;三个方面的相似性…

OpenSSL加密与证书

加密 身份的验证 &#xff08;非对称加密&#xff09;数据的加密 &#xff08;对称加密&#xff09;数据的完整性 &#xff08;单向加密&#xff09;三者的联合使用会保证数据的安全机制 A&#xff1a;发送者 B&#xff1a;接收方 A的操作&#xff1a; A使用…

asp 正则表达式

这里用的是正则式Set objRegExp New Regexp 建立对象objRegExp.IgnoreCase True 大小写忽略objRegExp.Global True 全局为真objRegExp.Pattern "http://.?" 匹配字段set mmobjRegExp.Execute(str) 执行查找&#xff0c;str为输入参数For Eac…

SQL SERVER重置自动编号列(标识列)

为什么80%的码农都做不了架构师&#xff1f;>>> 两种方法&#xff1a; 一种是用Truncate TRUNCATE TABLE name 可以删除表内所有值并重置标识值 二是用DBCC CHECKIDENT DBCC CHECKIDENT (table_name, RESEED, new_reseed_value) 如dbcc checkident ("bc_pos&q…

VBScript:登录脚本

今日与一些朋友调侃起各自的部门名称&#xff0c;有的IT部已经被用户公认为“挨踢”部&#xff0c;甚至有的IT部的分机号码都已被设置为119, 不知有多少ITPro被沦落为“救火员”&#xff0c;成就了传说中的“挨踢”&#xff0c; 业务与IT部门之间的哪些微秒之外到底在哪里&…

WebService生成客户端代理的工具WSDL参数介绍

wsdl.exe使用 ASP.NET&#xff0c;根据 WSDL 协定文件、XSD 架构和 .disc 发现文档&#xff0c;为 Xml Web Services 客户端和 Xml Web Ser 代码的实用工具。此工具可以与 disco.exe 一起使用。wsdl.exe <选项> <URL 或路径> <URL 或路径>选项 <URL 或路径…

“街坊”×××数字平台,昔日的思想,曾经的努力

“街坊”数字平台“街坊”数字平台由“街坊”网站(http://www.jefun.cn/)、街坊售楼系统软件(http://real.jefun.cn/soft/)、街坊二手房交易系统软件(http://zu8.bj.jefun.cn/soft/)三大部分组成&#xff0c;集成了互联网、电话、短信、软件、GIS等诸位一体的技术与服务手段为用…

postfixadmin 导入数据库出错 ERROR 1062 (23000) at line 29

ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 解决方法 [rootnagios-server postfixadmin]# mysql -uroot -p111111 <DATABASE_MYSQL.TXT ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 删…

攻略:三大秘籍让你笑傲IT职场!

IT行业作为处于就业金字塔的顶端行业&#xff0c;一直是众多年轻人的职业梦想。那么&#xff0c;对于怀抱高薪理想的年轻人来说&#xff0c;如何实现他们的IT梦想呢&#xff1f;   秘诀一&#xff1a;认清IT的职业价值   通常人们一提到IT人才&#xff0c;马上就会联想…

SharePoint最简母版页

代码 <%Master language"C#"%><% Register Tagprefix"SharePoint"Namespace"Microsoft.SharePoint.WebControls"Assembly"Microsoft.SharePoint, Version12.0.0.0, Cultureneutral, PublicKeyToken71e9bce111e9429c"%><…

flink实时流遇到的问题排查——部分数据未落库redis问题

flink实时流遇到的问题排查1、技术和环境2、问题表述3、简化的代码4、问题排查思路5、结论6、后续补充1、技术和环境 技术&#xff1a;kafka、zookeeper、DataStream、redis 环境表述&#xff1a;kafka生产者KafkaProducerTest类mock 3条日志后&#xff0c;FlinkDataRealTimeF…

CA0503:无法显示额外的代码分析警告或错误

项目团队正在使用VSS进行协同开发&#xff0c;由于人数较多&#xff0c;一开始为了保证开发工作正常进行&#xff0c;打开了代码分析&#xff0c;强制了签入策略&#xff0c;进行代码分析。当项目进行了一段时间后&#xff0c;每次编译都会产生一个错误“CA0503:无法显示额外的…

VS2008中对.Net 3.5 sp1程序打安装包的前提系统环境的配置

众所周知&#xff0c;.net 程序必须要有frame work才能进行运行&#xff0c;这就需要发布程序时一起进行发布&#xff0c;于是我们需要配置本地机器的环境&#xff0c;而不是让用户去网站上下载这些框架。这里只介绍了操作系统的环境设置&#xff0c;对于打包的过程这里不再说明…

封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>

封装自定义的redis切库工具类ByteArrayRedisTemplate&#xff0c;读取byte数组反序列化成List&#xff1c;Object&#xff1e;&#xff08;使用lettuce连接池&#xff09;代码环境框架&#xff1a;springboot依赖&#xff1a;spring-boot-starter-data-redis步骤1&#xff1a;注…

随便唠叨下 最近的事情

闵行交大 闵行公安 闵行建交委 闵行大联动 闵行人口办 闵行... 看来到上海后,一直跟闵行有缘啊. 某天早上起来,赶紧洗个衣服,其实也就是几件衣服. 在卫生间冲洗后,晾晒时发现:一只袜子跑了. 望着手中仅剩的一只白袜,我感到很蛋疼.马上找了一遍,无果 这件灵异事件一直困扰着我,导…

redis的zset使用(java)——存取List< Object>

1 需求 要往redis存取List< Object>。 2 条件 1&#xff09;Object&#xff1a;是一个UserEvent对象&#xff0c;对应3个字段&#xff1a; Integer productId; String eventCode; Long timestamp;2&#xff09;要求 每个key里存取对象个数不超过xx个。 超过xx个&…

ogre研究之第一个程序(一)

第一次发送超过字数了&#xff0c;被迫剪成两篇&#xff01; 上一篇我们介绍了如何搭建开发环境&#xff0c;并创建了一个空白的窗口程序。 这里我们主要是实现在程序中装载一个简单的模型并显示出来。 首先看一下效果吧&#xff0c;&#xff08;模型就是ogre例子中的robot.mes…

Executor源码解读

Executor源码解读〇、[源码版本] jdk 1.8一、不再显式创建线程[举例1]代码示例二、不严格要求执行是异步的[举例1]代码示例三、任务在调用者线程之外的某个线程中执行[举例1]代码示例四、施加了某种限制的复合执行器[举例1]代码示例五、concurrent包中提供的Executor的实现对象…

Javascript高级程序设计第二版第十二章--Event--笔记

今天给诸位分享一下 chapter 12 Events所谓事件就是页面与文档窗口发生交互的瞬间。当年事件发生时它可以被预定&#xff08;程序处理&#xff09;。事件有两个过程&#xff0c;冒泡过程&#xff0c;或捕获过程。冒泡是自上而下&#xff0c;捕获是自下而上。这个顺序是document…