0

「クイックスタート」アーキタイプを使用して、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 を含めて使用できることをテストする必要があります。

4

3 に答える 3

2

使用する

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

mvn dependency:copyすべての依存関係をコピーするものもありますtarget/dependencies

また、すべての依存関係をクラスパスとして含むスタートアップ シェル スクリプトを生成できる mvn appassemblyr プラグインがあります。

mvn assembly:single最後になりましたが、実行可能な単一の jar ファイルを生成するmaven アセンブリ プラグインがあります。java -jar my-jar-file.jar

于 2013-04-09T07:04:52.830 に答える
1

Neo4j の依存関係もクラスパスに追加する必要があります。現時点では、作成したソース jar のみを追加しています。このPOMを見ると、Neo4J の例には他の多くの依存関係が必要であることがわかります。

依存関係がダウンロードされた libs ディレクトリ (ローカルの .m2 maven リポジトリにある場合があります) を見つけて、これらの jar をクラスパスに追加します。ワイルドカードを使用してディレクトリを追加するだけなので、各 jar を 1 つずつ追加する必要はありません。例:

ウィンドウズ:

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

マック/ユニックス:

java -cp "target/msrcs-1.0-SNAPSHOT.jar:lib/*" org.neo4j.examples.EmbeddedNeo4j
于 2013-04-05T12:12:04.547 に答える