2014-06-18 91 views
3

我是Neo4j和Java的新手,正在嘗試使Spring Data Neo4J示例(http://projects.spring.io/spring-data-neo4j/)能夠正常工作。設置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「未綁定。」

+0

我投了這個問題。我認爲春天人們爲增加sdn4j的採用所能做的最大的事情就是提供可用於開箱即用的更新文檔的示例,例如良好關係書的更新版本。我注意到,雖然本書頂部的版本號已經在版本中更新,但本書的內容並沒有使實際內容過時,與文檔化的目標版本號和誤導性不兼容。 –

回答

1

經過幾天的研究和大量的反覆試驗,我纔得到了cineasts示例項目的工作。希望這會爲你節省很多時間。

對於兩個「錯誤:cvc-complex-type.4:屬性'bases-package'必須出現在元素'neo4j:config'」錯誤處,添加base-package屬性(base-package =「org。 neo4j.cineasts.domain「)添加到applicationContext.xml(在src/main/webapp/WEB-INF文件夾中)和movies-test-context.xml(在test/resources文件夾中)中的neo4j:config標籤中。

tx.close()未定義的其他錯誤可以通過將其更改爲tx.finish()來修復。

要運行項目,請使用jetty運行Maven構建:作爲目標運行。確保你使用的是jdk而不僅僅是一個jre。我用一個jre運行它,並得到一個錯誤,不得不用jetty運行Maven構建:在我可以重新部署之前停止kill服務器。

+0

謝謝!我遵循這些步驟,並能夠部署該示例!現在我必須弄清楚如何將節點加載到示例中。 –

0

歡迎在同一條船上,也只是從Neo4j和SDN開始。你得到的錯誤是由於沒有聲明xmlns:neo4j,但你可能有其他一些問題,所以包括下面的整個文件。我的倉庫,註釋的bean等都在com.purr.justtravel.neo4j的子包中。

我沒有使用Spring數據本身的例子,而是根據這些例子做我自己的東西,但下面的配置適合我。

您可以在內存數據庫和進程內(但使用磁盤存儲)版本之間切換。內存數據庫只是用新的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> 
相關問題