当我在ignite1.6.0中使用空间索引模块时,我发现它取决于H2的1.3.175版本,但我需要使用1.4.X h2版本。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.175</version>
<scope>compile</scope>
</dependency>
&#13;
这个方法org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing #start将调用org.h2.constant.SysProperties和org.h2.util.Utils,在1.3.176的类前面以上版本已经存在,后一类缺少序列化变量。
if (SysProperties.serializeJavaObject) {
U.warn(log, "Serialization of Java objects in H2 was enabled.");
SysProperties.serializeJavaObject = false;
}
if (Utils.serializer != null)
U.warn(log, "Custom H2 serialization is already configured, will override.");
Utils.serializer = h2Serializer();
&#13;
有什么办法可以解决吗?
答案 0 :(得分:1)
Ignite取决于H2 1.3.175,您不能使用任何其他版本。如果您已经有一些依赖于1.4的代码,则应该在项目的单独模块中隔离与Ignite相关的代码。这样,H2的不同版本将是共生的。