我的neo4j测试设置有什么问题? EmbeddedNeo4j.java,neo4j,maven

时间:2013-04-05 11:57:32

标签: maven neo4j

我使用“快速入门”原型开始了一个带有maven的项目。然后我改变了我的POM以包含neo4j:

https://github.com/ENCE688R/msrcs/blob/master/pom.xml

我补充说:

https://github.com/neo4j/neo4j/blob/master/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4j.java

然后跑

mvn package

这没有错误,但是

java -cp target/msrcs-1.0-SNAPSHOT.jar org.neo4j.examples.EmbeddedNeo4j

返回错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/neo4j/graphdb/RelationshipType

我错过了什么?在这一点上,我只需要测试我可以包含并使用neo4j。

3 个答案:

答案 0 :(得分:2)

使用

mvn exec:java -Dexec.mainClass=org.neo4j.examples.EmbeddedNeo4j

还有mvn dependency:copy将所有依赖项复制到target/dependencies

并且有一个mvn appassembler插件,允许您生成包含所有依赖项的启动shell脚本作为类路径。

最后但并非最不重要的是,maven程序集插件mvn assembly:single生成了一个可以运行的{jar}文件<{1}}

答案 1 :(得分:1)

您还需要将Neo4j依赖项添加到类路径中。目前你只是添加了你创建的源jar。如果你看一下这个POM,你会发现Neo4J的例子需要很多其他的依赖。

找到已下载依赖项的libs目录(这可能位于您当地的.m2 maven repo中)并将这些jar添加到您的类路径中。您不需要逐个添加每个jar,因为您只需添加一个带通配符的目录 - 例如:

视窗:

java -cp "target/msrcs-1.0-SNAPSHOT.jar;lib/*" org.neo4j.examples.EmbeddedNeo4j

的Mac / Unix的:

java -cp "target/msrcs-1.0-SNAPSHOT.jar:lib/*" org.neo4j.examples.EmbeddedNeo4j

答案 2 :(得分:1)

我已经开始研究一些maven原型,这也是一个很好的起点。