2017-02-16 219 views
2

我下載了apoc-3.1.0.3-all.jar並將其放入我的windows7 Neo4J 3.1.1系統的插件中。APOC只在neo4j中部分安裝其擴展(一個程序)

C:\Users>java -version 
java version "1.8.0_121" 
Java(TM) SE Runtime Environment (build 1.8.0_121-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) 

殺死計算機上的Neo4J進程,然後重新啓動服務器。

我只看到一個apoc程序列出,其他人給出關於丟失程序的錯誤。沒有neo4j日誌中的錯誤跡象。我試着解開瓶子,並重新啓動服務器。沒有運氣。

我有做

Call db.schema() 

但作爲簡單的東西沒有問題:

CALL apoc.help("help") 

將導致

There is no procedure with the name `apoc.help` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed. 

什麼我做錯了,我相信它必須是我!)

$call dbms.procedures 

apoc.schema.assert apoc.schema.assert(indexes :: MAP?, constraints :: MAP?) :: (label :: STRING?, key :: LIST? OF STRING?, unique :: BOOLEAN?, action :: STRING?) (empty) 
db.awaitIndex db.awaitIndex(index :: STRING?, timeOutSeconds = 300 :: INTEGER?) :: VOID Wait for an index to come online (for example: CALL db.awaitIndex(":Person(name)")). 
db.constraints db.constraints() :: (description :: STRING?) List all constraints in the database. 
db.indexes db.indexes() :: (description :: STRING?, state :: STRING?, type :: STRING?) List all indexes in the database. 
db.labels db.labels() :: (label :: STRING?) List all labels in the database. 
db.propertyKeys db.propertyKeys() :: (propertyKey :: STRING?) List all property keys in the database. 
db.relationshipTypes db.relationshipTypes() :: (relationshipType :: STRING?) List all relationship types in the database. 
db.resampleIndex db.resampleIndex(index :: STRING?) :: VOID Schedule resampling of an index (for example: CALL db.resampleIndex(":Person(name)")). 
db.resampleOutdatedIndexes db.resampleOutdatedIndexes() :: VOID Schedule resampling of all outdated indexes. 
db.schema db.schema() :: (nodes :: LIST? OF NODE?, relationships :: LIST? OF RELATIONSHIP?) Show the schema of the data. 
dbms.changePassword dbms.changePassword(password :: STRING?) :: VOID Change the current user's password. Deprecated by dbms.security.changePassword. 
dbms.components dbms.components() :: (name :: STRING?, versions :: LIST? OF STRING?, edition :: STRING?) List DBMS components and their versions. 
dbms.functions dbms.functions() :: (name :: STRING?, signature :: STRING?, description :: STRING?) List all user functions in the DBMS. 
dbms.procedures dbms.procedures() :: (name :: STRING?, signature :: STRING?, description :: STRING?) List all procedures in the DBMS. 
dbms.queryJmx dbms.queryJmx(query :: STRING?) :: (name :: STRING?, description :: STRING?, attributes :: MAP?) Query JMX management data by domain and name. For instance, "org.neo4j:*" 
dbms.security.changePassword dbms.security.changePassword(password :: STRING?) :: VOID Change the current user's password. 
dbms.security.createUser dbms.security.createUser(username :: STRING?, password :: STRING?, requirePasswordChange = true :: BOOLEAN?) :: VOID Create a new user. 
dbms.security.deleteUser dbms.security.deleteUser(username :: STRING?) :: VOID Delete the specified user. 
dbms.security.listUsers dbms.security.listUsers() :: (username :: STRING?, flags :: LIST? OF STRING?) List all local users. 
dbms.security.showCurrentUser dbms.security.showCurrentUser() :: (username :: STRING?, flags :: LIST? OF STRING?) Show the current user.STRING?) 
+0

你是否把它放到插件文件夾中,在點擊「選項」按鈕後出現在「選項」窗格中? –

回答

8

安裝neo4j使用安裝程序(這是最常見的)與zip或tar文件之間的差異很少。

(A)當你使用安裝安裝的Neo4j,安裝配置Neo4j的服務器來尋找plugins文件夾中的數據庫文件夾(即default.graphdb文件夾下)。

(B)當您從一個zip或tar文件安裝的Neo4j,在Neo4j的服務器將尋找在Neo4j的安裝文件夾中的plugins文件夾(例如,plugins文件夾應該是Neo4j的bin文件夾的兄弟姐妹) 。

聽起來像(A)適用於你。

+0

是的,我需要將「dbms.directories.plugins = c:/ Program \ Files/Neo4j \ CE \ 3.1.1/plugins」添加到配置文件中。謝謝。我會給你一個賞金 –

1

問題是你用neo4j的windows安裝程序,這似乎不適用於插件。所以你必須使用可以正常工作的neo4j二進制文件。

這是什麼意思是,你必須要下載Windows安裝的zip版本,並按照指示在這裏:

http://neo4j.com/docs/operations-manual/current/installation/windows/

編輯:

I think this is you case

如果不是

maybe this

+0

我嘗試了很多你的建議,但我仍然被阻止。查看更新的帖子。 –

+0

您是否有證據表明NEO4j安裝程序不起作用?請注意,找到了一個過程,如果無法讀取該文件夾,則不會發生這種情況。 –

2

從我記得,你必須創建一個plugins目錄到你的graph.db目錄,把apoc jar,然後重新啓動你的服務器。

否則,您可以在neo4j.conf文件中指定dbms.directories.plugins

+0

所以這聽起來很奇怪。您似乎指出插件是基於每個數據庫(在DB文件夾中)。但是我所看到的是他們似乎是一個服務器資源,程序可執行文件中有一個名爲:C:\ Program Files \ Neo4j CE 3.1.1 \ plugins的文件夾,它有一個自述文件,它將它放在那裏。所以我把罐子放在哪裏,它找到了一個程序,但沒有找到其他程序。 –

+0

如果在瀏覽器中輸入'CALL apoc.schema.assert({Foo:['bar']},null)'會發生什麼? 您是否測試過像我建議的那樣配置'dbms.directories.plugins'設置? 啓動時日誌中是否有某些東西? – logisima

+0

CALL apoc.schema.assert({Foo:['bar']},null)正常工作。啓動時沒有任何東西。我沒有嘗試配置項,因爲它似乎在JAR中至少找到一個過程,並且如果它沒有進入jar所在的文件夾,它將如何發現? –