我是Neo4j的新手。我正在尝试编写一个简单的Neo4j服务器,它可以在我选择的端口上进行监听。我使用的代码与以下教程中的文件server.java完全相同 http://hmkcode.com/first-time-neo4j/ 代码编译得很好但是当我尝试运行它时我得到一个错误(粘贴在下面) 任何帮助,将不胜感激。我正在使用jre7和jdk1.8.0_11
为了您的方便,我还剪切并粘贴了以下代码(与上面的链接完全相同)
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.graphdb.factory.GraphDatabaseSetting;
import org.neo4j.kernel.GraphDatabaseAPI;
import org.neo4j.server.WrappingNeoServerBootstrapper;
import org.neo4j.server.configuration.Configurator;
import org.neo4j.server.configuration.ServerConfigurator;
import org.neo4j.shell.ShellSettings;
public class neoserver {
public static void main(String args[]){
{
GraphDatabaseAPI graphdb = (GraphDatabaseAPI) new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder( "db/graphDB" )
.setConfig( ShellSettings.remote_shell_enabled, GraphDatabaseSetting.TRUE )
.newGraphDatabase();
ServerConfigurator config;
config = new ServerConfigurator( graphdb );
// let the server endpoint be on a custom port
config.configuration().setProperty(Configurator.WEBSERVER_PORT_PROPERTY_KEY, 7575 );
WrappingNeoServerBootstrapper srv;
srv = new WrappingNeoServerBootstrapper( graphdb, config );
srv.start();
}
}
}
我得到的错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/text/StrLookup
at org.neo4j.server.configuration.ServerConfigurator.<init>(ServerConfigurator.java:52)
at jungpagerankserver.neoserver.main(neoserver.java:80)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.text.StrLookup
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
答案 0 :(得分:1)
您引用的教程似乎使用Eclipse而不是专用的构建系统。每个严肃的项目都不应该依赖和IDE来构建,而是像Maven或Gradle这样的工具是一个不错的选择。
确保您的类路径上具有neo4j-server
的所有传递依赖项。使用maven时,请使用pom.xml
部分添加到dependencies
:
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>2.1.3</version>
</dependency>
如果是gradle,请在dependencies
内使用:
compile 'org.neo4j.app:neo4j-server:2.1.3'