问题:
Error:(99, 16) java: 无法访问org.springframework.dao.support.PersistenceExceptionTranslator
找不到org.springframework.dao.support.PersistenceExceptionTranslator的类文件
本来这是一个小问题,发现网上很多博客写的并不全面,所以在此写下别处忽略的原因,总结下。
1、首先最大的原因是没有引用到spring-tx-XXX.RELEASE这个包
这里我们从阿里仓库找到对应的pom,使用maven导入:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.2.RELEASE</version>
<type>pom</type>
</dependency>
这时有的人会发现自己明明引用到了为何还是报错呢???
2、然后还未解决的同学,需要看下你的maven的作用域是否正确
比如,我就忽略了这个细节,把scope设置为了test,去掉这个作用域就OK
<scope>test</scope>
简单说下,test表示只有在测试编译和测试运行阶段可用,而项目中编译以及运行是不会导包的,所以就会出现上面的错误
有个文章介绍scope很好
https://www.cnblogs.com/kingsonfu/p/10342892.html
如果大家还有其他的原因,留言讨论下。