2021-10-26

记录一个gradle相关的小问题


   我遇到的问题(java.long.NoClassDefFoundError: javax\el\Elmanager)是gradle的prodivedCompile关键字导致的运行时没有依赖对应的jar。文章主体是对自己的吐槽,只想找问题只看摘要就行了,没必要看正文。

  本文中的工程是由工程构建工具生成的,一开始我竟然怀疑公司用了这么久的工具构建的工程有问题,我是伞兵!!!
  故事开始于一个报错:
  java.long.NoClassDefFoundError: javax\el\Elmanager
  这啥?没见过啊!上百度!
  度娘很给力,一堆一样的答案。都是与使用外部tomcat部署springboot项目war包相关的。什么tomcat版本低啦,el-api版本不够什么的。这问题描述跟我不太一样,我是直接在ide运行的springboot,并没有使用外部tomcat。
  我看了下springboot版本,2.0.7,嗯,没啥问题。内部tomcat版本,9.0.5,嗯,也没问题,不是tomcat的问题。
  继续找答案,慢慢的另一个跟el相关的问题解答出现了-hibernate版本高。我看了下项目,6.0.13,嗯,是高了,改低!
  运行一下,嗯,很好,不报这个错了,换了一个错,找不到与hibernate相关的类,大概框架里用了与新特性吧,这条路子走不通。
  完了完了,这可咋整啊?!搞不定啊!不行就问问公司的大佬们?不行!这都搞不定岂不是说明我很菜?(虽然确实菜的一批)
  之后的我开始了瞎搞,又生成了一个纯净版的工程,之前的有一些公司写好的组件,这次只有基础框架,像是springboot,hibernate之类的,此时的我还在怀疑公司组件的依赖之间有冲突。但是还是一样的结果。然后我开始检索出问题的方法,只找到了一个,并没有jar包冲突的问题。在lib里搜索下相应的jar,嗯?没有?没导进来?不对啊,能找到方法,应该导进来了啊。
  这时,我看到了一些奇怪的东西。
在这里插入图片描述
  上边这个文件夹是啥?工程文件里没有啊。我点开看了看内容,好家伙,可让我找到你了!
在这里插入图片描述
  可是,为什么会在这里?同样是都是jar包,为啥你们六个浓眉大眼的这么突出?是不是在导入的时候有什么不一样的地方?我查看了下common.gradle文件,搜一下这个依赖。
在这里插入图片描述
在这里插入图片描述
  provided?啥意思?百度一下!奥,编译时依赖,运行时不依赖,怪不得,问题解决。这里是大佬的链接
  今天这个问题让我又笑又气,笑自己蠢得一批,这种问题搞了一上午,气自己还是对gradle、依赖啥的了解的不够。不过,也踩过坑了,下次就记得了。
  这篇文章只是对自已处理问题的一次记录,图一乐而已,不喜勿喷。

  感谢能看到结尾的大佬们,祝大家日益精进!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值