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使用了自定义的类加载器,可以在应用程序运行时加载修改后的类。然而,这种类加载机制可能会与某些特定的类库或插件产生冲突,导致意料之外的行为或错误。

  问题终于解决,舒畅。

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

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
大勇前进3 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu3 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile3 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白803 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙3 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发3 天前
软件工程SOLID 五大设计原则
后端·软件工程