编程语言
首页 > 编程语言> > Liquibase Hibernate Java 8支持

Liquibase Hibernate Java 8支持

作者:互联网

我希望有人之前也遇到过同样的问题,并且在这里提出问题要比反复试验更快.

我有一个Java 8项目,在这里尝试使用Liquibase,并从我的实体生成我的变更日志:

liquibase --changeLogFile=changeLog.yaml 
          --url=hibernate:spring:com.example.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect 
          --logLevel=debug generateChangeLog

我收到以下错误:

SEVERE 11/04/15 09:55: liquibase: Failed to scan classpath for unlisted classes
liquibase.exception.DatabaseException: javax.persistence.PersistenceException: Failed to scan classpath for unlisted classes
...
Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [.../Example.class]; ...

我使用Java 7编译了项目,并且liquibase运行正常.

Liquibase版本:3.3.2
Liquibase Hibernate4.2版本:3.5

由于liquibase是开源的,因此我可以尝试使用Java 8重建它,但是我不知道它是否会有所帮助.

解决方法:

异常表明问题出在Spring的类读取器中,您是否正在使用最新的Spring版本?最新的Spring适用于所有Java 6-8,因此,如果升级Spring,应该不会有问题.

另外,您的运行时Java 8也是如此吗?您可能安装了超过JVM,例如运行时为7,但您使用的是JDK8,则可以使用Java8来构建项目,但是当然它不能在Java7环境中运行.

标签:java-8,hibernate,liquibase,spring,java
来源: https://codeday.me/bug/20191028/1952728.html