Caused by: java.lang.ClassNotFoundException: org.dom4j.io.STAXEventReader 解决办法

版权声明:版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/lililuni/article/details/82895553

今天在学习Spring Data Jpa时,在对Dao进行测试时,碰到上面的错误,经查阅后,成功解决。

问题出现原因:Hibernate core 5.1.0.Final include dom4j-1.6.1 jar which throws this error. To fix this, need to exclude dom4j-1.6.1 from hibernate-core and include dom4j-1.6 in your pom.。在Hibernate core 5.1.0 Final架包中包括dom4j-1.6.架包,所以导致了这个错误。解决方法如下:

1:先删除本地仓库里的 dom4j文件夹

2:在项目的pom.xml文件中,将dom4j从Hibernate core中删除并重新导入dom4j依赖,我的代码如下

<dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-core</artifactId>
		    <version>5.1.0.Final</version>
		    <exclusions>
		        <exclusion>
		            <artifactId>jta</artifactId>
		            <groupId>javax.transaction</groupId>
		        </exclusion>
		        <!-- Exclude SLF4j to avoid version conflicts  -->
		        <exclusion>
		            <groupId>org.slf4j</groupId>
		            <artifactId>slf4j-api</artifactId>
		        </exclusion>
		        <!-- Exclude dom4j to avoid version conflicts -->
		        <exclusion>
		            <groupId>dom4j</groupId>
		            <artifactId>dom4j</artifactId>
		        </exclusion>
		        <!-- 移除dom4j -->
		    </exclusions>
		</dependency>
	  
	 	 <!--  重新 引入dom4j依赖 -->
		<dependency>
		    <groupId>dom4j</groupId>
		    <artifactId>dom4j</artifactId>
		    <version>1.6.1</version>
		</dependency> 

3:完成上面步骤后,发现项目的包依赖会有问题,这时候重新导入项目即可

猜你喜欢

转载自blog.csdn.net/lililuni/article/details/82895553