thinkaurelius / neo4j-gremlin-plugin

Gremlin for Neo4jServer 2.x
http://thinkaurelius.com
Apache License 2.0
30 stars 14 forks source link

Neo4J-CE 2.2.9 fails to start when Gremlin 2.3.1 installed #15

Open SundialServices opened 8 years ago

SundialServices commented 8 years ago

Installed the latest community-edition and Gremlin plug-in. As described in other (closed) issues, a 500 error occurs. But running "neo4j console" gives clues as to why.

curl -s -G http://localhost:7474/tp/gremlin/execute ... gives a 500 error, but meanwhile the console shows this:

13:17:59.842 [qtp341951118-32] WARN  o.e.jetty.servlet.ServletHandler - 
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/transaction/SystemException
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420) ~[jersey-servlet-1.19.jar:1.19]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) ~[jersey-servlet-1.19.jar:1.19]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) ~[jersey-servlet-1.19.jar:1.19]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) ~[jetty-servlet-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) [jetty-servlet-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.Server.handle(Server.java:497) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [jetty-io-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
Caused by: java.lang.NoClassDefFoundError: javax/transaction/SystemException
    at com.thinkaurelius.neo4j.plugins.GremlinPlugin.getOrCreateGraph(GremlinPlugin.java:74) ~[neo4j-gremlin-plugin-tp2-2.3.1.jar:na]
    at com.thinkaurelius.neo4j.plugins.GremlinPlugin.<init>(GremlinPlugin.java:67) ~[neo4j-gremlin-plugin-tp2-2.3.1.jar:na]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_77]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_77]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_77]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_77]
    at com.sun.jersey.server.spi.component.ResourceComponentConstructor._construct(ResourceComponentConstructor.java:253) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.spi.component.ResourceComponentConstructor.construct(ResourceComponentConstructor.java:233) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.resource.PerRequestFactory$PerRequest._getInstance(PerRequestFactory.java:182) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.resource.PerRequestFactory$AbstractPerRequest.getInstance(PerRequestFactory.java:144) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.application.WebApplicationContext.getResource(WebApplicationContext.java:239) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.19.jar:1.19]
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.19.jar:1.19]
    ... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.transaction.SystemException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_77]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_77]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_77]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_77]
    ... 39 common frames omitted

In an attempt to resolve the "javax.transaction.SystemException" issue, I set these environment variables: (Ubuntu ...)

JAVA_HOME=/usr/lib/jvm/java-8-oracle
CLASSPATH=.:/usr/lib/jvm/java-8-oracle:/home/snoopy/.m2/repository

... noticing that "jta" jar-files are in that folder on my home-account ("snoopy") ... but that seems to have had no effect.

SundialServices commented 8 years ago

"I'm not a Java person, not at all." I have no idea why the class isn't found. Here's the results of "locate jta" on this machine:

/home/snoopy/.m2/repository/javax/transaction/jta
/home/snoopy/.m2/repository/javax/transaction/jta/1.1
/home/snoopy/.m2/repository/javax/transaction/jta/1.1/_remote.repositories
/home/snoopy/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar
/home/snoopy/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar.sha1
/home/snoopy/.m2/repository/javax/transaction/jta/1.1/jta-1.1.pom
/home/snoopy/.m2/repository/javax/transaction/jta/1.1/jta-1.1.pom.sha1
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/_remote.repositories
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar.sha1
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.pom
/home/snoopy/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.pom.sha1
/lib/modules/4.2.0-34-generic/kernel/drivers/tty/serial/altera_jtaguart.ko
/usr/share/maven-repo/transaction/jta
/usr/share/maven-repo/transaction/jta/1.1
/usr/share/maven-repo/transaction/jta/1.1/_remote.repositories
/usr/share/maven-repo/transaction/jta/1.1/jta-1.1.jar
/usr/share/maven-repo/transaction/jta/1.1/jta-1.1.jar.sha1
/usr/share/maven-repo/transaction/jta/1.1/jta-1.1.pom
/usr/share/maven-repo/transaction/jta/1.1/jta-1.1.pom.sha1
/usr/src/linux-headers-4.2.0-16/arch/mips/include/asm/octeon/cvmx-helper-jtag.h
/usr/src/linux-headers-4.2.0-16/include/linux/altera_jtaguart.h
/usr/src/linux-headers-4.2.0-16-generic/include/config/serial/altera/jtaguart.h
/usr/src/linux-headers-4.2.0-34/arch/mips/include/asm/octeon/cvmx-helper-jtag.h
/usr/src/linux-headers-4.2.0-34/include/linux/altera_jtaguart.h
/usr/src/linux-headers-4.2.0-34-generic/include/config/serial/altera/jtaguart.h

So it certainly seems to me that the files do exist and that Java ought to be able to find them. (But, like I said, I am not a Java person ...)