我有一个多模块的Spring Boot项目。一个模块,'实体'包含Hibernate配置,包括Hazelcast L2缓存配置。这是一个.jar(不是Spring Boot)用于Hibernate抛出的Hazelcast L2缓存ClassNotFoundException
另一个模块是'web',它依赖于'实体',但是一个启动应用程序。
'实体' 具有以下依存关系:
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-hibernate5</artifactId>
<version>1.2</version>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>3.7.1</version>
'hazelcast-hibernate5' 对hazelcast 3.5.5有管理的依赖,我排除。
当我运行'web'应用程序(Spring Boot)时,我得到了来自'实体'配置文件(其中声明L2缓存)的以下错误。我不使用XML,这是Java配置。
产生的原因:抛出java.lang.ClassNotFoundException:com.hazelcast.internal.serialization.DataSerializerHook
在Eclipse我搜索的“类型” &可以找到DataSerializerHook这是“实体”的依赖......作为预期。
我从hazelcast-hibernate5中排除hazelcast 3.5.5的原因是因为3.5.5 DataSerializerHook在com.hazelcast.nio.serialization中。在hazelcast 3.7.1中它的com.hazelcast.internal.serialization。最初,我得到了这个classCastException b/c。这现在已经解决了。
我在这里错过了什么?