在有maven依赖的情况下报了一个无法理解的错误,后来我怀疑是jar包冲突我又在idea上面下载了一个maven helper插件,显示没有冲突jar包,下面附上错误信息

avatar
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
    at co.yiiu.pybbs.PybbsApplication.main(PybbsApplication.java:16)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
11 条评论
avatar
tomoya92 发布于 3 个月前
  0  

请问你是直接运行main方法启动的吗?

如果运行main方法启动失败了,那么试一下 mvn spring-boot:run 看能启动不?

avatar
Jackweijin 发布于 3 个月前
  0  

@tomoya92 [ERROR] 读取/Users/wenweijing/.m2/repository/org/springframework/spring-beans/5.1.3.RELEASE/spring-beans-5.1.3.RELEASE.jar时出错; invalid LOC header (bad signature)
[ERROR] 读取/Users/wenweijing/.m2/repository/org/springframework/spring-context/5.1.3.RELEASE/spring-context-5.1.3.RELEE.jar时出错; invalid LOC header (bad signature)
[ERROR] 读取/Users/wenweijing/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.13/tomcat-embed-core-9.0.13.r时出错; invalid LOC header (bad signature)
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[14,54] 程序包com.baomidou.mybatisplus.core.conditions.query不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[19,50] 程序包org.springframework.transaction.annotation不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[33,2] 找不到符号
符号: 类 Transactional
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[7,54] 程包com.baomidou.mybatisplus.core.conditions.query不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[8,46] 程包com.baomidou.mybatisplus.core.metadata不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[11,50] 程序包org.springframework.transaction.annotation不存在

avatar
Jackweijin 发布于 3 个月前
  0  

@tomoya92 各种找不到文件

avatar
Jackweijin 发布于 3 个月前
  0  

在idea终端运行的这条命令

avatar
tomoya92 发布于 3 个月前
  0  

@Jackweijin 我在网上搜了一下 invalid LOC header (bad signature) 找到一些解决办法,通过你贴的错误信息,可以看出来是spring-beans-5.1.3.RELEASE.jar出问题了,尝试把这个删了,然后在终端下运行 mvn spring-boot:run 命令,如果还报错,就看一下是哪个包有问题,然后到 ~/.m2/repository 下找到对应的包,直接把相关的文件夹删了,重复运行 mvn spring-boot:run 命令

参考: https://stackoverflow.com/questions/32090921/deploying-maven-project-throws-java-util-zip-zipexception-invalid-loc-header-b

avatar
Jackweijin 发布于 3 个月前
  0  

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project pybbs: Compilation failure: Compilation failure:
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[14,54] 程序包com.baomidou.mybatisplus.core.conditions.query不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[19,50] 程序包org.springframework.transaction.annotation不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TopicService.java:[33,2] 找不到符号
[ERROR] 符号: 类 Transactional
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[7,54] 程包com.baomidou.mybatisplus.core.conditions.query不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[8,46] 程包com.baomidou.mybatisplus.core.metadata不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[11,50] 程序包org.springframework.transaction.annotation不存在
[ERROR] /Users/wenweijing/Documents/intellij/pybbs-master/src/main/java/co/yiiu/pybbs/service/TagService.java:[26,2] 找到符号
在我把所有冲突的jar包清除了之后。。,最后一个清除的jar包是tomcat-embed-core-9.0.13

avatar
tomoya92 发布于 3 个月前
  0  

@Jackweijin 请把问题一次性说完!

有问题的jar包都清完了,通过 mvn spring-boot:run 启动还有问题吗?

avatar
Jackweijin 发布于 3 个月前
  0  

是的,清除完了之后,然后报上诉错误

avatar
tomoya92 发布于 3 个月前
  0  

@Jackweijin 从你上面贴出来的异常信息我到源码里搜了一下,还有两个包不正常,com.baomidou.mybatisplusorg.springframework.transaction.annotation.Transactional

尝试把这两个包也都删了,再启动一下

avatar
Jackweijin 发布于 3 个月前
  0  

@tomoya92 我后面不用命令启动已经成功启动了
谢谢博主帮忙

avatar
tomoya92 发布于 3 个月前
  0  

@Jackweijin 不谢,从上面的错来看,你mvn下载jar包的时候应该连的不是中心库吧,导致了jar包不正常了,建议不要使用第三方的mvn库,虽然mvn中心库下载jar包有时会比较慢,但好在它比较安全

问题解决了就好 : )

添加一条评论 请尽量发布对他人有帮助的评论

登录后可发布评论

登录 | Github登录