java - neo4j 休息 API 不工作

标签 java rest neo4j

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 Rest 和嵌入式库并收到此错误消息。 (顺便说一句,我已经检查过,有一个节点 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

有什么想法吗?

最佳答案

您可能会有一堆 jars 作为依赖项包含在内。 将其余绑定(bind)包含为 Maven 依赖项当然可以解决它:


org.neo4j
neo4j-rest-graphdb
1.8.1

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

关于java - neo4j 休息 API 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883077/

相关文章:

java - PMD/Checkstyle - 在注释值中强制使用常量

hibernate - Spring MVC REST JPA Hibernate Jackson无限递归一对多JSON错误

java - DELETE 方法无法正确删除实体

filter - 不再支持 Neo4j Filter 功能

java - 为什么使用工厂方法模式而不是简单工厂

java - 如何正确写入文件数据?

java - 在 Jframe 中打开新窗口

java - Jersey REST 2.0 异步请求在底层容器中失败(Tomcat 7)

neo4j - 如何探索由嵌入式 Neo4j Java 应用程序创建并存储在/data 目录之外的数据库?

neo4j EntityNotFound 阻止密码匹配工作