Путь к классу в манифесте не читается при запуске jar в Unix - PullRequest
1 голос
/ 07 января 2010

У меня есть клиентское приложение, которое должно работать в Unix. Он отлично работает в Windows, но я получаю исключение NoClassDefFound в Unix. Вот мой файл манифеста:

Манифест-Версия: 1.0 Ant-версия: Apache Ant 1.6.5 Создано: 2.3 (Корпорация IBM) Main-Class: com.main.Client Путь к классу: lib / commons-lang-2.3.jar lib / commons-io-1.3.2.jar lib / comm ons-logging-api-1.1.jar lib / log4j-1.2.12.jar

И структура Client.jar:

ком ком / главная Lib мета-инф

Чтобы запустить его, я использую команду ниже:

$JAVA_HOME/jre/bin/java -jar Client.jar

Отлично работает в windows. Почему-то я думаю, что это не правильно читать манифест. Помогите, пожалуйста! Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 октября 2010

Может быть, потому что ваша папка мета-инфа в нижнем регистре?

0 голосов
/ 07 января 2010

Один из способов - убедиться, что вы определили переменную CLASSPATH для пользователя, запускающего программу.

$ echo $CLASSPATH

если из вышеприведенного ничего не показано, экспортируйте его

$ export CLASSPATH="/lib/commons-lang-2.3.jar:/your/other/paths"
...