【发布时间】:2012-01-25 17:26:09
【问题描述】:
我在使用 WebAdmin - 1.6 版运行 neo4j(嵌入式模式)时遇到了一些问题。
我初始化 DB 和 webadmin 如下:
graphDb = new EmbeddedGraphDatabase( DB_PATH);
srv = new WrappingNeoServerBootstrapper( graphDb);
srv.start();
registerShutdownHook( graphDb, srv );
这只是 Neo4j 文档中描述的常用方式。
我的 Maven 依赖项是:
<dependencies>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j-version}</version>
</dependency>
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>${neo4j-version}</version>
</dependency>
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<classifier>static-web</classifier>
<version>${neo4j-version}</version>
</dependency>
</dependencies>
我在尝试访问http://localhost:7474 时遇到的错误是:
Problem accessing /. Reason:
javax.servlet.http.HttpServletRequest.getRequestURL()Ljava/lang/StringBuffer;
Caused by:
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getRequestURL()Ljava/lang/StringBuffer;
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:638)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
【问题讨论】:
-
这看起来像是 Jersey 库中的版本冲突。项目的设置是什么?如果在 Maven 上,请执行
mvn dependenct:tree -
看起来没有冲突,但是将 servlet-api 版本更新到 2.3 有帮助。