コマンドラインから実行可能なjarを構築しようとしています( ant または OneJar を使用したくありません)。これが私のfile.jarの内容です:
jar tvf file.jar
0 Mon Sep 20 17:16:12 CEST 2010 lib/
45396 Mon Sep 20 17:16:12 CEST 2010 lib/org.apache.commons.logging_1.0.4.v201005080501.jar
321330 Mon Sep 20 17:16:12 CEST 2010 lib/org.apache.commons.httpclient_3.1.0.v201005080502.jar
55003 Mon Sep 20 17:16:12 CEST 2010 lib/org.apache.commons.codec_1.3.0.v20100518-1140.jar
0 Mon Sep 20 19:15:00 CEST 2010 META-INF/
265 Mon Sep 20 19:12:44 CEST 2010 META-INF/MANIFEST.MF
530609 Mon Sep 20 17:16:12 CEST 2010 ped.jar
META-INF/MANIFEST.MF の内容:
Manifest-Version: 1.0
Class-Path: ped.jar lib/org.apache.commons.codec_1.3.0.v20100518-1140.jar lib/org.apache.commons.httpclient_3.1.0.v201005080502.jar lib/org.apache.commons.logging_1.0.4.v201005080501.jar
Main-Class: fr.inserm.umr915.bomcat.ped.PedigreeDrawer
ped.jar doにはメインクラスが含まれています
jar tvf ped.jar | grep PedigreeDrawer.class
39541 Mon Sep 20 17:16:10 CEST 2010 fr/inserm/umr915/bomcat/ped/PedigreeDrawer.class
しかし、file.jar を実行しようとすると、エラーが発生しました。
java -jar file.jar
Exception in thread "main" java.lang.NoClassDefFoundError: fr/inserm/umr915/bomcat/ped/PedigreeDrawer
Caused by: java.lang.ClassNotFoundException: fr.inserm.umr915.bomcat.ped.PedigreeDrawer
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
だから、私はここに何かが欠けています。依存関係を含めるだけで、実行可能な jar をパッケージ化できませんか?
ご協力いただきありがとうございます
ピエール