[Java]リリースするとNoClassDefFoundError
Posted: 2015年9月23日(水) 16:13
こんにちは。
jarファイルを実行するとNoClassDefFoundErrorというエラーが出てプログラムが終了してしまいます。
Eclipse上では正常に動作します。
Javaでjacksonというライブラリ(?)を使おうと試みました。
(1)このサイトに従ってjackson関係のjarファイルを3つともダウンロード(全て最新のものをダウンロード)しました。
(2)このサイトに従ってライブラリパスを3つとも追加しました。
(3)このようなコードを書きました。
(4)Eclipse上では正常に動作しています。
(5)このような設定でjarファイルをエクスポートしました。 (6)実行しようとするとこのような結果になりました。
ちなみにjacksonを使わない場合、当然正常に動作します。
Java初心者にもわかりやすく教えていただけるとありがたいです。
よろしくお願いいたします。
jarファイルを実行するとNoClassDefFoundErrorというエラーが出てプログラムが終了してしまいます。
Eclipse上では正常に動作します。
Javaでjacksonというライブラリ(?)を使おうと試みました。
(1)このサイトに従ってjackson関係のjarファイルを3つともダウンロード(全て最新のものをダウンロード)しました。
(2)このサイトに従ってライブラリパスを3つとも追加しました。
(3)このようなコードを書きました。
package jackson_test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class Main {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
System.out.println("hello");
}
}
(5)このような設定でjarファイルをエクスポートしました。 (6)実行しようとするとこのような結果になりました。
MoNoQLoREATOR-no-MacBook-Pro:Downloads monoqloreator$ ls
UDP_server.jar jackson-databind-2.6.0.jar
jackson-annotations-2.6.0.jar jackson_test.jar
jackson-core-2.5.0.jar
MoNoQLoREATOR-no-MacBook-Pro:Downloads monoqloreator$ java -cp ./jackson_test.jar jackson_test.Main
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at jackson_test.Main.main(Main.java:9)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
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)
... 1 more
package jackson_test;
public class Main {
public static void main(String[] args) {
System.out.println("hello");
}
}
MoNoQLoREATOR-no-MacBook-Pro:Downloads monoqloreator$ ls
UDP_server.jar jackson-databind-2.6.0.jar
jackson-annotations-2.6.0.jar jackson_test.jar
jackson-core-2.5.0.jar
MoNoQLoREATOR-no-MacBook-Pro:Downloads monoqloreator$ java -cp ./jackson_test.jar jackson_test.Main
hello
Java初心者にもわかりやすく教えていただけるとありがたいです。
よろしくお願いいたします。