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

今天在学习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:完成上面步骤后,发现项目的包依赖会有问题,这时候重新导入项目即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值