Я пытаюсь собрать исполняемый файл 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 содержит главный класс
jar tvf ped.jar | grep PedigreeDrawer.class
39541 Mon Sep 20 17:16:10 CEST 2010 fr/inserm/umr915/bomcat/ped/PedigreeDrawer.class
но когда я пытаюсь выполнить файл .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, просто включив зависимости?
Спасибо за вашу помощь
Pierre