Apache点燃的exapmle无法执行,详情如下

时间:2017-03-08 06:14:38

标签: apache h2

当我从点燃网站运行示例时,发生了类似这样的错误。

Caused by: org.h2.jdbc.JdbcSQLException: General error: "java.lang.IncompatibleClassChangeError: class org.apache.ignite.internal.processors.query.h2.opt.GridH2Row has interface org.h2.result.Row as super class" [50000-193]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)

解决它需要花费大量时间,但失败了。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

Spring Boot也使用H2,但版本不同。就我而言,Spring为1.4.193,Ignite为1.4.191。在这些版本org.h2.result.Row之间已从abstract class更改为interface

<强> FIX

检查您的Ignite版本中使用的H2版本(请检查:https://github.com/apache/ignite/blob/master/parent/pom.xml,但是您的版本)

之后为项目添加依赖项:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.191</version> <!-- Ignite's version -->
</dependency>

答案 1 :(得分:0)

问题已经解决,不需要在default-config.xml中配置h2数据库bean。他们是冲突的。