安装Spring Data Neo4j示例

3
我是Neo4j和Java的新手,正在尝试使Spring Data Neo4J示例(http://projects.spring.io/spring-data-neo4j/)正常工作。
显然,大多数示例不再起作用的原因是最新版本的Spring Data Neo4j(SDN 3.0)发生了一些重大变化。
另有一篇文章(Errors of the Cineasts examples of Spring data neo4j)提到在neo4j:config和neo4j:repositories元素中添加“base-package”属性。我尝试这样做,但出现了一个额外的错误:“元素“neo4j:config”的前缀“neo4j”未绑定”。

我点赞了这个问题。我认为Spring的开发人员可以做的最大的事情是提供开箱即用的示例和更新的文档,例如《好的关系书》的更新版本,以增加SDN4J的采用率。我注意到,虽然该书的顶部版本号已在发布中更新,但书的内容并没有更新,这使得实际内容过时,与记录的目标版本号不兼容且具有误导性。 - John Deverall
2个回答

1
经过多日的研究和尝试,我终于成功地让cineasts示例项目运行起来了。希望这能为您节省很多时间。
对于两个“错误:cvc-complex-type.4:属性'bases-package'必须出现在元素'neo4j:config'上”的错误,在applicationContext.xml(位于src/main/webapp/WEB-INF文件夹中)和movies-test-context.xml(位于test/resources文件夹中)的neo4j:config标签中添加base-package属性(base-package="org.neo4j.cineasts.domain")即可解决。
tx.close()未定义的其他错误可以通过将其更改为tx.finish()来修复。
要运行该项目,请使用jetty:run作为目标运行Maven构建。确保您使用的是jdk而不仅仅是jre。我使用jre运行它时遇到了错误,不得不运行带有jetty:stop的Maven构建来关闭服务器,然后才能重新部署。

谢谢!我按照这些步骤成功地部署了示例!现在我需要弄清楚如何将节点加载到示例中。 - completely confused

0

欢迎加入我们的行列,我也刚开始使用Neo4j和SDN。你遇到的错误可能是由于没有声明xmlns:neo4j导致的,但你可能还有其他问题,所以我在下面包含了整个文件。我的repositories、注释bean等都在com.purr.justtravel.neo4j的子包中。

我并不是直接使用Spring data的示例,而是基于这些示例做自己的东西,但以下配置对我来说都可以正常启动。

你可以在内存数据库和进程中(但带有磁盘存储)之间切换。内存数据库只需使用new TestGraphDatabaseFactory().newImpermanentDatabase()创建即可,我将其封装在一个静态工厂方法中。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd">

    <context:annotation-config />
    <tx:annotation-driven mode="proxy" />

    <!-- SAME PROCESS DATABASE -->
    <neo4j:config storeDirectory="neo4jdb/store/graph.db" base-package="com.purr.justtravel.neo4j"/>
     <!-- IN MEMORY DATABASE -->
<!--     <neo4j:config graphDatabaseService="graphDatabaseService" base-package="com.purr.justtravel.neo4j" /> -->
<!--     <bean id="graphDatabaseService" class="com.purr.justtravel.server.AbstractInMemoryNeo4jTest" factory-method="createNeo4jDatabase" /> -->

    <neo4j:repositories base-package="com.purr.justtravel.neo4j" />

</beans>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接