java - Spring-Data-Neo4J:Spring-Data-Neo4j 如何管理 Neo4J 版本

标签 java spring exception neo4j spring-data-neo4j

当我使用Spring-Data-Neo4J3.2.1.RELEASE版本和Neo4J2.1.5,我的应用程序成功运行。当我将 Neo4J 迁移到版本 2.2.2 并将 Spring-Data-Neo4J 迁移到 3.2.2.RELEASE 时我收到以下异常:

Caused by: java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/transaction/SpringTransactionManager
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.createTransactionManagerForOnePointEight(JtaTransactionManagerFactoryBean.java:110)
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.createJtaTransactionManager(JtaTransactionManagerFactoryBean.java:91)
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.create(JtaTransactionManagerFactoryBean.java:65)
at org.springframework.data.neo4j.config.JtaTransactionManagerFactoryBean.<init>(JtaTransactionManagerFactoryBean.java:35)
at com.harmeetsingh13.config.Neo4jConfig.neo4jTransactionManagerFactoryBean(Neo4jConfig.java:48)
at com.harmeetsingh13.config.Neo4jConfig.neo4jTransactionManager(Neo4jConfig.java:66)
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4.CGLIB$neo4jTransactionManager$1(<generated>)
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4$$FastClassBySpringCGLIB$$b430987b.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
at com.harmeetsingh13.config.Neo4jConfig$$EnhancerBySpringCGLIB$$f77a14f4.neo4jTransactionManager(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
... 81 more
Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.transaction.SpringTransactionManager
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1333)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1180)
... 97 more

这是因为我们的依赖项版本不兼容。那么,Spring-Data-Neo4J 如何管理 Neo4J 的版本呢?

是否可以将 Spring-Data-Neo4J 3.2.2.RELEASENeo4J 2.2.2 一起使用?

更新

经过@MichaelHunger的建议,我正在使用以下依赖项Spring-Data-neo4J 3.4.0.M1Neo4J 2.2.2。所以我的以下依赖关系图是:

Dependency Graph

最佳答案

您必须使用 3.4.0.M1 或 3.3.1(本周到期),它们都提供与 Neo4j 2.2.2 的兼容性

关于java - Spring-Data-Neo4J:Spring-Data-Neo4j 如何管理 Neo4J 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895097/

相关文章:

python - 处理轨迹奇点: delete photons causing error

c# - 处理每种形式的异常或只是在主要

java - 如何使 JDK 成为默认的 JRE?

java - Android 中的音频录制示例项目

java - 如何测试 JBoss 服务器是从外部 java 应用程序启动的

java - Autowiring @Scope(value = "request", proxyMode = ScopedProxyMode.INTERFACES) 对象时出错

exception - 有没有办法在 Java ME 中打印堆栈跟踪到屏幕?

java - 带有 StepRequest.STEP_MIN 参数的 StepRequest

Spring Feign 客户端调用在应该停留在 try block 时进入异常 block

java - 在由许多子类扩展的父类(super class)中 Autowiring Spring bean