[英]Neo4j Java Rest Binding: NoClassDefFoundError
我有一個neo4j-rest-graphdb-1.8-SNAPSHOT.jar的新版本。 但是我馬上就要遇到麻煩了。
我已經運行了Neo4j的基本/默認安裝,並配置了有效的圖形存儲:
Neo4j版本
圖形數據庫內核1.8.M05
OS
Ubuntu 12.04 LTS
Java版本
“ 1.6.0_24” OpenJDK運行時環境(IcedTea6 1.11.1)(6b24-1.11.1-4ubuntu3)OpenJDK 64位服務器VM(內部版本20.0-b12,混合模式)
卷曲請求表明一切運行良好:
$ curl http://localhost:7474/db/data/ -i
HTTP/1.1 200 OK
Content-Length: 809
Content-Encoding: UTF-8
Content-Type: application/json
Access-Control-Allow-Origin: *
Server: Jetty(6.1.25)
{
"extensions" : {
"CypherPlugin" : {
"execute_query" : "http://localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query"
},
"GremlinPlugin" : {
"execute_script" : "http://localhost:7474/db/data/ext/GremlinPlugin/graphdb/execute_script"
}
},
"node" : "http://localhost:7474/db/data/node",
"reference_node" : "http://localhost:7474/db/data/node/0",
"node_index" : "http://localhost:7474/db/data/index/node",
"relationship_index" : "http://localhost:7474/db/data/index/relationship",
"extensions_info" : "http://localhost:7474/db/data/ext",
"relationship_types" : "http://localhost:7474/db/data/relationship/types",
"batch" : "http://localhost:7474/db/data/batch",
"cypher" : "http://localhost:7474/db/data/cypher",
"neo4j_version" : "1.8.M05-1-ge9cdca9"
但是,嘗試以下行:
GraphDatabaseService graph = new RestGraphDatabase(“ http:// localhost:7474 / db / data /”);
...產生異常:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/core/Response$StatusType
at org.neo4j.rest.graphdb.RestAPIFacade.<init>(RestAPIFacade.java:265)
at org.neo4j.rest.graphdb.RestGraphDatabase.<init>(RestGraphDatabase.java:44)
at com.tester.api.Neo4j.importer(Neo4j.java:185)
at com.tester.api.Neo4j.main(Neo4j.java:97)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.core.Response$StatusType
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 4 more
這看起來像缺少依賴項。 您是否已確保通過maven包含所有依賴項,如https://github.com/neo4j/java-rest-binding/blob/master/pom.xml中所述 ? 您可以從源代碼構建項目,並通過執行以下操作來獲得項目
mvn dependency:copy-dependencies
/彼得
好吧,我認為一切最終都對我產生了影響:
從頂部:
mvn dependency:copy-dependencies
以獲取所有依賴項的副本,然后將它們(target / dependency文件夾的內容)添加到我的構建路徑中(感謝Peter) mvn package
以獲取另一個新的/克隆的/簽出的java-rest-binding git repo,並將生成的.jar( neo4j-rest-graphdb-1.8-SNAPSHOT.jar
)復制到項目的lib中(以及所有依賴 我已經進行了一些初步測試,現在似乎可以使用了!
如果上述過程顯示出我對Maven的天真,並且您知道避免將來出現此類問題的簡明指南,請與我們分享!
謝謝!
我遇到了同樣的問題,發現我沒有球衣。 試圖獲取所有依賴關系,但沒有得到這個罐子。 因此解決方案可以是..只需下載jersey-bundle-1.13-b01.jar。
PS:這可能不是解決它的最佳方法,因為可能存在很多依賴關系,但是在這種特定情況下,只有球衣丟失了,所以它可以這樣工作:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.