Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用Spring创建存储库bean时出错_Scala_Neo4j_Spring Data Neo4j - Fatal编程技术网

Scala 使用Spring创建存储库bean时出错

Scala 使用Spring创建存储库bean时出错,scala,neo4j,spring-data-neo4j,Scala,Neo4j,Spring Data Neo4j,我设置了Neo4j内核1.9M04和Spring-Data-Neo4j 2.1.0版本 更准确地说,这里是我的依赖项(来自我的SBT文件): 在运行时,尝试自动连接neo4j存储库时,我得到了以下堆栈: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.neo4j.config.Neo4jConfig

我设置了Neo4j内核1.9M04和Spring-Data-Neo4j 2.1.0版本

更准确地说,这里是我的依赖项(来自我的SBT文件):

在运行时,尝试自动连接neo4j存储库时,我得到了以下堆栈:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.neo4j.config.Neo4jConfiguration#0': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/core/LockReleaser
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:532) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
Caused by: java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/core/LockReleaser
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.7.0_07]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) ~[na:1.7.0_07]
    at java.lang.Class.getDeclaredMethods(Class.java:1808) ~[na:1.7.0_07]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:384) ~[spring-orm-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:322) ~[spring-orm-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:844) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.core.LockReleaser
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_07]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_07]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_07]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_07]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0_07]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0_07]
我注意到类
org/neo4j/kernel/impl/core/LockReleaser
已从neo4j 1.9M0X中消失

该错误似乎来自
“org.springframework.data”%”spring-data-neo4j-rest“%”2.1.0.RELEASE“


我怎样才能解决这个问题

看起来spring orm是针对运行时尝试使用的不同版本的neo4j构建的(它们不兼容)

可能的解决办法:

  • 使用旧版本的neo4j
  • 根据当前版本的neo4j自行构建spring orm。可能您必须自己迁移spring orm

我不能使用旧版本的Neo4j,因为scala 2.10与旧版本1.9M04的Neo4j不兼容。Spring-Data-Neo4j 3.2.0.RELEASE似乎不完全支持Neo4j 1.9.X版本。保持Scala 2.10作为主语言的最佳解决方案是不使用Spring数据,而是回到传统的Neo4j API。
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.neo4j.config.Neo4jConfiguration#0': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/core/LockReleaser
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:532) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
Caused by: java.lang.NoClassDefFoundError: org/neo4j/kernel/impl/core/LockReleaser
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.7.0_07]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) ~[na:1.7.0_07]
    at java.lang.Class.getDeclaredMethods(Class.java:1808) ~[na:1.7.0_07]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:384) ~[spring-orm-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:322) ~[spring-orm-3.2.0.RELEASE.jar:3.2.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:844) ~[spring-beans-3.2.0.RELEASE.jar:3.2.0.RELEASE]
Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.core.LockReleaser
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_07]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_07]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_07]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_07]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0_07]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0_07]