spring boot 集成spring data jpa 时报错java.lang.ClassNotFoundException: org.hibernate.OptimisticLockExcep
2018-01-09 16:51
1086 查看
版本环境:spring boot (1.5.9.Release)
pom.xml文件:
错误信息:
错误原因:
在spring boot为1.5.9.RELEASE版本下,默认引入的spring-boot-starter-data-jpa的版本是1.5.9.RELEASE,而其中包含的hibernate核心依赖hibernate-core版本为5.0.12.Final,在该版本中移除了OptimisticLockException类,所以产生上面的错误。
解决方案:
经查询,在hibernate-core版本为5.0.11.Final依赖中存在该类,所以移除默认依赖的版本,添加该版本即可,修改后的pom.xml如下:
备注:该解决方式只是建议解决方案,由于在高版本的5.0.12.Final中移除了该类,但官方肯定通过其他方式实现相应的操作,作者目前还不清楚。
pom.xml文件:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>${oracle.ojdbc6.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies>
错误信息:
Caused by: java.lang.ClassNotFoundException: org.hibernate.OptimisticLockException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_144] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_144] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_144] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_144] ... 60 common frames omitted
错误原因:
在spring boot为1.5.9.RELEASE版本下,默认引入的spring-boot-starter-data-jpa的版本是1.5.9.RELEASE,而其中包含的hibernate核心依赖hibernate-core版本为5.0.12.Final,在该版本中移除了OptimisticLockException类,所以产生上面的错误。
解决方案:
经查询,在hibernate-core版本为5.0.11.Final依赖中存在该类,所以移除默认依赖的版本,添加该版本即可,修改后的pom.xml如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>${oracle.ojdbc6.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <exclusions> <!--消除hibernate-core 5.0.12.Final的依赖--> <exclusion> <artifactId>hibernate-core</artifactId> <groupId>org.hibernate</groupId> </exclusion> </exclusions> </dependency> <!--添加hibernate-core 5.0.11.Final依赖,原因:5.0.12版本里面缺少OptimisticLockException类--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.0.11.Final</version> </dependency> </dependencies>
备注:该解决方式只是建议解决方案,由于在高版本的5.0.12.Final中移除了该类,但官方肯定通过其他方式实现相应的操作,作者目前还不清楚。
相关文章推荐
- Spring-Flex与Hibernate 4集成出现错误 ,java.lang.ClassNotFoundException: org.hibernate.collection.Persisten
- spring hiberante 集成出现异常 java.lang.ClassNotFoundException: org.hibernate.engine.SessionFactoryImplementor
- Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistr
- java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
- spring事务配置Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.SessionFactoryImplemento
- spring集成quartz中java.lang.ClassNotFoundException: org.quartz.impl.JobDetailImpl异常解决方法
- Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
- idea/ecipse中使用maven集成springmvc相关jar包时候,出错:java.lang.ClassNotFoundException: org.springframework.web.
- spring3.0.5 和hibernate3.6整合问题之java.lang.ClassNotFoundException: org.objectweb.asm.Type
- Spring集成JSON报错:java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException
- 关于java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication的解决
- SpringBoot项目创建报:java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication错误的解决方案
- jbpm4.4+Spring集成出现错误org.hibernate.HibernateException: jbpm.hibernate.cfg.xml not found
- Caused by: org.hibernate.jpa.boot.archive.spi.ArchiveException: Could not build ClassFile
- 【异常】Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DataIntegrityViolationException
- Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException
- Spring4.0+Hibernate4.2.整合出现java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition
- java.lang.ClassNotFoundException: org.hibernate.boot.model.naming.ImplicitNamingStrategy
- 启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- Spring 3.0 抛异常 java.lang.ClassNotFoundException: org.springframework.expression.PropertyAccessor