今天遇到了一个问题,困扰了我几个小时,虽然最后是一个小问题导致的。记录下,也算一个解决问题的方法。
前提:调用webservice时引用
<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <version>1.2.6</version> </dependency>
项目采用springboot。 代码都完全开发好了,本地再idea中启动都没有问题,但是打成jar包或者war启动之后总是报错如下:
java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.isPresent(Ljava/lang/String;Ljava/lang/ClassLoader;)Z at org.springframework.boot.SpringApplication.deduceWebEnvironment(SpringApplication.java:257) at org.springframework.boot.SpringApplication.initialize(SpringApplication.java:248) at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:225) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) at com.drore.cloud.tdp.DataInterfaceApplication.main(DataInterfaceApplication.java:13) ... 6 more
从报错中看出,是找不到某个方法。然后开始排查问题:
1、确定问题,注释掉这个依赖就可以启动,添加上就有问题,所以可以确定是这个依赖的问题。
2、根据报错信息,应该是少了什么方法,然后从网上找,答案各样,却都不能解决根本问题,最终确定应该是一个jar引用的问题,具体哪个jar不确定。 后来具体搜索了下这个方法,发现是spring的一个jar包中的方法。然后跟进下引入的这个依赖,看看都间接引入了哪些依赖包,最后发现确实有一个spring的jar包被引入。于是排除掉:
<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all</artifactId> <exclusions> <exclusion> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-spring</artifactId> </exclusion> </exclusions> <version>1.2.6</version> </dependency>
再次启动项目,结果还是跟那上面一样的问题。但是反复确定问题确实是在这里。 于是怀疑这个依赖还在,然后就打成war包,发布到本地的tomcat中,然后再去webapp下面找到这个项目的lib包,果然spring-1.2.6这个过时的版本还在里面,于是项目启动的时候就总是会跟这个依赖冲突,就会报错。 所以在lib中去掉这个jar,重启tomcat,问题解决。
上面的问题说起来简单,但却耗费了几个小时,主要原因还是开始解决问题的思路不对,仅记录下一个思路。希望对自己对别人以后再有类似的问题可以少踩点坑。
相关推荐
主版本号(major version)和次版本号(minor version)是Java Class文件结构的一部分,它们记录了与字节码兼容的JVM版本。在Java 7中,主版本号被设置为51,因此"51.0"就代表了Java 7。当你尝试用Java 7的编译器...
#### 一、问题背景与原因分析 在使用ArcGIS Engine进行地理信息系统(GIS)应用开发的过程中,可能会遇到版本不一致的问题。这种问题通常表现为:在Visual Studio(以下简称VS)中开发的应用程序无法正常运行或加载...
6. **QoS 级别**:MQTT 提供三种服务质量(QoS)级别:QoS 0(至多一次)、QoS 1(至少一次)和 QoS 2(只有一次)。MQTTFX 支持这三种级别,让你可以灵活选择消息传递的可靠性。 7. **主题模板**:为了提高效率,...
本项目是一个用于爬取、解析和存储数据的...一次爬取太多页面,容易出现报错,出现baidu安全验证或者连接超时, 被防爬了,属于正常现象,请少爬取一些页面,为了不被bd防爬,程序中设置了每爬取一页都随机睡眠20-30s,
查询订单接口,报错:另一程序正在使用此文件,进程无法访问 - **解决方案**: - 检查是否有其他进程正在使用相同的文件或资源。 - 重启相关服务或进程,释放占用的资源。 - 调整适配器配置,避免资源冲突。 #...
项目搭建 项目启动不报错,实体类设计正确,代码分层无误 10 JDBC工具类 采用原生JDBC实现数据库操作得5分,采用mybatis实现数据库操作得10分 10 登录 前端页面正常显示,能够登录成功,并返回登录结果,无逻辑错误 10 ...
4. 对数据库状态进行一次全面查看。 维护服务方案: 日常维护中需要非常仔细,每周、每月、每季都需要有相应的巡检记录,需要详细记载以下一些内容: 1. 监控数据库对象的空间扩展情况。 2. 监控数据量的增长情况...
并根据签到情况进行分类,并建立动态UI界面,根据此可以得出学生签到率、学习时间以及预测下一次签到情况,并对学生的签到情况进行评价。 本课题的研究关键问题主要有以下几个方面: 如何提高人脸识别的准确率和鲁棒...
6. 文档的版本控制:文档中提到的版本号(V1.2.0)和修改记录,表明这是一个经过多次修改和维护的文档。每次修改都有对应的修改人和修改描述,这有助于跟踪和管理文档的变更。 7. 文档的维护者:文档的提供方为中电...
在IT行业中,分页是网页应用中不可或缺的一部分,特别是在处理大量数据时,它能有效提高用户体验,避免一次性加载过多内容导致页面响应速度下降。这里我们关注的标题是“匹配实体类的实现了大部分功能分页 网页分页...
#### 一、启动 IMS 服务后日志里空间分析服务报错或无法使用 **问题描述**: 启动 IMS 服务后,日志记录显示空间分析服务出现问题,无法正常使用。 **可能原因及解决办法**: 1. **数据库配置问题**: - **临时...
某次部署启动项目后发现解密方法失败,查阅日志,TinkConfig注册失败,追溯debug至jar包内部,tinconfig的注册方法处,报错: 发现报错信息是V3版本的protobuf包中的类未加载,查看解密用的utils包A中是否成功引入...
2. 但即使目录创建成功,MySQL在启动时仍报错,提示找不到首个binlog文件名,导致从库的I/O线程无法正常运行。 六、恢复过程 在解决上述问题后,发现新的问题——从库的I/O线程没有运行,且无法找到主库的binlog...
项目获取不到或登录报错,可能是数据库配置问题,需要检查数据库连接字符串、用户权限和项目发布设置。 21. **用户登录状态无效**: 用户登录状态无效可能涉及会话管理,检查会话超时设置和用户认证逻辑。 22. *...
在微信小程序的开发过程中,有时会遇到加载`app-service.js`时出现错误的情况,这个问题可能会导致小程序无法正常启动。本文将详细解析这个问题的原因,并提供有效的解决方法。 首先,错误提示"WAService.js:2 不要...
【内部复盘版20210625.docx】文档记录了徐汇区汇治理网关在2021年6月25日发生的一次严重故障,影响了汇治理小程序和徐汇区“一网统管”实战平台的部分功能。以下是详细的知识点分析: 1. **故障现象与影响**:故障...
通过maven的命令 mvn install:install-file -Dfile……比较繁琐,我把这个繁琐的工作做了一次封装,批量操作,方便自己也分享给各位! (1)运行环境,需要用tomcat8.0及以上版本(其他容器JBoss、WebLogic期待您...
1. **Q:如何解决支付接口报错问题?** - A:首先检查支付配置是否正确无误,然后根据错误提示查找官方文档或社区资源进行对照排查。 2. **Q:能否增加新功能或修改现有功能?** - A:由于该项目基于ThinkPHP5...
在工业自动化领域,西门子S7-1200 PLC是广泛应用的控制器之一,而IO设备(输入/输出设备)则是与PLC交互的重要组成部分。当S7-1200 PLC出现“IO设备故障”报警,但在实际检查中所有IO模块都显示正常时,这通常意味着...