私の最初のMavenの使用で、依存関係が張り付いています。NoClassDefFoundError on Mavenの依存関係
EclipseでMavenプロジェクトを作成し、依存関係を追加しましたが、問題なく動作していました。
しかし、私は、コマンドラインを介して、それを実行しよう:
$ mvn package # successfully completes
$ java -cp target/bil138_4-0.0.1-SNAPSHOT.jar tr.edu.hacettepe.cs.b21127113.bil138_4.App # NoClassDefFoundError for dependencies
これは、依存関係をダウンロードし、正常にビルドが、私はそれを実行しようとすると、私はNoClassDefFoundErrorが出る:
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException
at tr.edu.hacettepe.cs.b21127113.bil138_4.db.DatabaseManager.<init>(DatabaseManager.java:16)
at tr.edu.hacettepe.cs.b21127113.bil138_4.db.DatabaseManager.<init>(DatabaseManager.java:22)
at tr.edu.hacettepe.cs.b21127113.bil138_4.App.main(App.java:10)
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.JsonParseException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 3 more
マイポンポン.xmlは次のようになります。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>tr.edu.hacettepe.cs.b21127113</groupId>
<artifactId>bil138_4</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>bil138_4</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.6</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
誰でも手助けできますか?
このエラーを取得する:http://pastebin.com/g2txkMY6。私はm2eclipseプラグインでEclipse上で実行することができます、私はそれにアプリケーションを開発しました。私はコマンドラインで実行する方法を理解できません。私のMavenクラスパスをインポートする方法は? 編集:Javaコマンドに-classpath /home/utdemir/.m2/repository/パラメータを追加してみましたが、まだ運がありません。 – utdemir
私の答えを更新しました。 –
ありがとうございます。あなたが言うようにクラスパスを設定し、問題を解決したものとしてマークします。しかし、私はさらにいくつかの質問があります: 1- execプラグインのクラスパスにJacksonを追加する必要はありません。 2 Execプラグインでプロジェクトをコンパイルする必要があるので、mvnコンパイルやパッケージを実行する必要があります。 3このコードは私の割り当てです。クラスパスにライブラリを追加するのは責任ですか、それとも何かする必要がありますか? – utdemir