Neo4Jのドキュメントに従って、neo4j 1.9.4で非常に単純なJ2EEプロジェクトをセットアップしようとしました。いくつかのデータをgraphDBにロードすることを目的とした非常に単純なクラスを作成しました。
package neo4j;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import org.neo4j.cypher.javacompat.ExecutionEngine;
import org.neo4j.cypher.javacompat.ExecutionResult;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseBuilder;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.graphdb.factory.GraphDatabaseSettings;
public class DBLoader{
private final String BDD_PATH = "http://localhost:7474/recipeFinderDB";
public void feedDB() {
GraphDatabaseBuilder dbBuilder = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(BDD_PATH);
GraphDatabaseService db = dbBuilder.newGraphDatabase();
db.shutdown();
}
次に、このクラスを単純な jsp ファイルでインスタンス化します。
しかし、プロジェクトを実行したいときはいつでも、次のエラーが発生します。
重大: サーブレット [jsp] の Servlet.service() がパス [/RecipeFinder] のコンテキストで例外をスローしました [スタックトレースの 14 行目で JSP ページ /index.jsp の処理中に例外が発生しました:] 根本原因 java.lang.ClassNotFoundException: org. neo4j.graphdb.factory.GraphDatabaseFactory の org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) の org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) の neo4j.DBLoader. feedDB(DBLoader.java:20) org.apache.jsp.index_jsp._jspService(index_jsp.java:68) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) で javax.servlet.http .HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) at org.apache.jasper.servlet.JspServlet.org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) の serviceJspFile(JspServlet.java:391) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) の org.apache.catalina .core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) ) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) で org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) で org.apache.catalina.core.StandardHostValve. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) で (StandardHostValve.java:164) を呼び出します。org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter. java:395) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) で org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) で org.apache.tomcat .util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) で java.util.concurrent.ThreadPoolExecutor.runWorker(不明なソース) で java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) で java. lang.Thread.run(不明なソース)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) の invoke(StandardEngineValve.java:118) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) の org.apache .coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) で java.util.concurrent.ThreadPoolExecutor.runWorker (不明なソース) java.util.concurrent.ThreadPoolExecutor$Worker.run で (不明なソース) java.lang.Thread.run で (不明なソース)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) の invoke(StandardEngineValve.java:118) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) の org.apache .coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) で org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) で java.util.concurrent.ThreadPoolExecutor.runWorker (不明なソース) java.util.concurrent.ThreadPoolExecutor$Worker.run で (不明なソース) java.lang.Thread.run で (不明なソース)process(Http11Protocol.java:188) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util. concurrent.ThreadPoolExecutor$Worker.run(不明なソース) で java.lang.Thread.run(不明なソース)process(Http11Protocol.java:188) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util. concurrent.ThreadPoolExecutor$Worker.run(不明なソース) で java.lang.Thread.run(不明なソース)
このクラスは、明らかにプロジェクトのビルド パスに含めた neo4j-jernel-1.9.4.jar ファイルから取得されます。以下の私のクラスパスを参照してください。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/concurrentlinkedhashmap-lru-1.3.1.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/geronimo-jta_1.1_spec-1.1.1.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/lucene-core-3.6.2.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-cypher-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-graph-algo-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-graph-matching-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-jmx-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-kernel-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-lucene-index-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-shell-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/neo4j-udc-1.9.4.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/org.apache.servicemix.bundles.jline-0.9.94_1.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/scala-library-2.10.0.jar"/>
<classpathentry kind="lib" path="C:/Users/Florent/Desktop/neo4j/server-api-1.9.4.jar"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
その問題に関する助けはありますか?
ありがとう!