我使用“快速入门”原型开始了一个带有maven的项目。然后我改变了我的POM以包含neo4j:
https://github.com/ENCE688R/msrcs/blob/master/pom.xml
我补充说:
然后跑
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。
答案 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原型,这也是一个很好的起点。