Emmmmm,今天出现的错误实在是有点佛系。。。首先我用的是IDEA,并且使用了Maven
1.首先将项目全部配置完成之后,启动,出现了大致如下的错误(只记住了这两个):
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘XXX
’然后就开始搜集这个错误,发现需要加入slf4j-log4j12.jar,我就在maven配置文件中加入了相关依赖。但是错误虽然没有了,但是仍然有警告,项目启动仍然是失败的。
2.警告的信息大致如下:
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly
接着百度,需要在项目目录中建立一个log4j.properties的文件,我把文件建立到了main/resourse文件夹下。启动项目,发现警告消失,但是重新出现了异常,错误类型基本上和1.里边差不多,但是颜色从红色变成了灰色
3.虽然这次的错误类型和第一次差不多,但是多了一条异常,大致为如下:
java.lang.NoSuchMethodError: org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.<init>
然后大致搜了一下关键词JPAMetadataProvider,然后就找到了了一条百度知道里边的答案:
接着我就去看了看我的maven配置文件里边关于Hibernate的相关依赖,如下:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.3.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
我就试着把hibernate-annotations这条依赖注释掉。。然后运行。
4.成功。接着我就把以前的修改全部还原,把slf4j的依赖也删掉了,他的properties文件也删掉了。仅仅保留这条注释。
5.运行,接着成功,我就再次确定了这次异常的原因就是因为,Hibernate的相关依赖有冲突了。
6.最后,最佛系的事情出现了,我把注释去掉,也就是说,我把项目恢复到了出现异常之前的情况。。发现仍然是正常启动。。。所以一个下午我绕了一大圈什么也没改,那个异常就没了。
7.本来想在这里分享一下异常,和异常的解决方法。无奈,那个错误也不出现了!
8.后续更新,错误重新出现,因此将所有修改全部恢复,即第一步:增加slf4j-log4j12和slf4j-api这两个依赖,第二步,建立log4j.properties文件,第三步,删除hibernate-annotation这个依赖