1

neo4j java-rest-binding API 有问题

git clone https://github.com/neo4j/java-rest-binding
mvn clean package

然后得到了我的 JAR。

试过这个:

import org.neo4j.rest.graphdb.RestAPI;
import org.neo4j.rest.graphdb.RestAPIFacade;
import org.neo4j.rest.graphdb.entity.RestNode;
import org.neo4j.rest.graphdb.query.RestCypherQueryEngine;
import org.neo4j.rest.graphdb.util.QueryResult;
import static org.neo4j.helpers.collection.MapUtil.map;

import java.util.Map;

public class Connect {
    public static void main(String[] args) {
        System.out.println("starting test");
        RestAPI api = new RestAPIFacade("http://localhost:7474/");
        System.out.println("API created");
        final RestCypherQueryEngine engine = new RestCypherQueryEngine(api);
        System.out.println("engine created");

        QueryResult<Map<String,Object>> result = engine.query("start n=node({id}) return n", map("id",1));

        System.out.println("query created");
        System.out.println(result);


    for (Map<String, Object> row : result) {
        Object tagline = row.get("tagline");
        long id=((Number)row.get("id")).longValue();
        System.out.println("id is " + id);
        System.out.println(row.get("myRow"));
        }
   }
}

添加了 neo4j 休息和嵌入式库并收到此错误消息。(顺便说一句,我已经检查过,有一个节点 1 并且服务器在本地运行)

开始测试

Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/core/Response$StatusType
at org.neo4j.rest.graphdb.RestAPIFacade.<init>(RestAPIFacade.java:294)
at Connect.main(Connect.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.core.Response$StatusType
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 7 more

有任何想法吗?

4

2 回答 2

1

您可以在 src 构建中使用

mvn dependency:copy-dependencies

这会将所有依赖项放入

ls target/dependency  
于 2013-07-29T13:55:10.740 回答
1

您可能会有一堆 jar 包作为依赖项包含在内。将其余绑定包含为 maven 依赖项当然会处理它:


org.neo4j
neo4j-rest-graphdb
1.8.1

如果你是从源代码构建的,那么我通常会做不科学的事情来查看 pom.xml https://github.com/neo4j/java-rest-binding/blob/master/pom.xml并从中挑选依赖项/目标/依赖项

于 2013-07-26T14:28:48.333 回答