SpringBoot导入部分第三方库失败问题,可能是因为这个

直接揭晓答案

删除掉maven中spring-boot-devtools依赖

背景

当时有个项目,在Java中直接做图像识别(为什么不用python直接做啊啊啊)。

首先我在普通Java项目 里面做实验,等成功后再照搬进springboot 里。我跟着教程将opencv库的jar包和dll手动导进Java库里(不是文章重点就不细谈了,网上很多大佬都有教程),导成功就开始敲代码了......最后终于成功识别,心想着终于干完啦,可以不用再对着这东西了!(途中遇到很多让人啼笑皆非的东西,例如把香蕉识别成大蒜。 ・ࡇ・)

问题出现!!!

按照之前的方式导入,代码适配,写好接口,用postman测试,报错了......

UnsatisfiedLinkError异常 : unsatisfiedlinkerror报错是Java程序中的一种错误,通常是由于无法找到或加载本地库文件而引起的。这种错误通常会在调用本地方法时发生,因为Java虚拟机无法找到所需的本地库文件

怎么会有这么奇怪的错误,这是连opencv都没有导进来。之后我加入了下面这段代码检测,结果是load success,能识别到文件存在呀,怎么回事。

抱怨了好一会儿,终于冷静下来,开始一步步纠错。

  • 为什么之前的导入方式 可以正常运行,到了现在这里 就不行了呢,是导入opencv库的方式不对吗,接着就开始十八般武艺花式导入,不行**✘**
  • 难道是库识别 问题,我额外给maven加了一段本地opencv库的依赖,不行**✘**
  • 之前是普通Java项目 ,现在变为了springboot,难道里面有什么变化导致这个结果?这回运气比较好,我先把问题定位在maven上,减少了不少试错。我注释掉一些不常见的依赖,看看是不是有什么东西跟opencv冲突了,功夫不负有心人,我找出了问题所在,把spring-boot-devtools注释掉后,跑成功了✔。 ✧(≖ ◡ ≖✿)

事后总结

spring-boot-devtools是干嘛用的,感觉也没用过他呀。一通翻找文档和gpt后,终于窥探其中一二了。 DevTools是一个开发工具,旨在提高Spring Boot应用程序的开发体验和效率。它提供了一系列功能和特性,有助于开发人员在开发过程中进行快速迭代和调试。

markdown 复制代码
  *自动应用程序重启*:DevTools可以监测代码的变化,并自动重新启动应用程序,以便快速查看修改后的效果。这样,开发人员无需手动重启应用程序,提高了开发效率。
  *热部署*:DevTools支持在运行时替换应用程序的类文件,而无需重新启动整个应用程序。这意味着开发人员可以在不中断应用程序运行的情况下修改和调试代码。热部署功能可以加快开发周期,减少重新构建和部署的时间。
  *全局设置*:DevTools允许在开发环境中进行全局配置,以便快速启用或禁用某些功能。例如,可以配置自动重启的延迟时间、禁用特定的自动配置等。
  *开发者工具页面*:DevTools提供了一个开发者工具页面,可以通过浏览器访问。该页面显示了应用程序的详细信息,包括配置属性、Bean定义、请求映射等,方便开发人员进行调试和查看应用程序状态。

而问题则是出在类加载冲突 上,DevTools使用了自定义的类加载器,可以在应用程序运行时加载修改后的类。然而,这种类加载机制可能会与某些特定的类库或插件产生冲突,导致意料之外的行为或错误。

问题终于解决,舒畅。

--普通大二生一枚,文章若有错误,欢迎各位大佬指正,虚心学习(*>.<*)

相关推荐
Tech Synapse12 分钟前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
.生产的驴13 分钟前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
微信-since8119228 分钟前
[ruby on rails] 安装docker
后端·docker·ruby on rails
代码吐槽菌2 小时前
基于SSM的毕业论文管理系统【附源码】
java·开发语言·数据库·后端·ssm
豌豆花下猫3 小时前
Python 潮流周刊#78:async/await 是糟糕的设计(摘要)
后端·python·ai
YMWM_3 小时前
第一章 Go语言简介
开发语言·后端·golang
码蜂窝编程官方3 小时前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
hummhumm3 小时前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
J老熊3 小时前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
AuroraI'ncoding3 小时前
时间请求参数、响应
java·后端·spring