Невозможно запустить файл JAR на другом ПК.Возможная проблема с переменными среды? - PullRequest
3 голосов
/ 02 сентября 2010

Я создал JAR-файл, и он отлично работает на моем ПК (XP), на котором установлен Eclipse.Он также работает на другом ПК с Eclipse.

Я пытался запустить его на другом ПК (XP), на котором нет Eclipse.Хотя он содержит JDK и несколько JRE.Файл JAR просто не выполняется, нажав или из командной строки.

Я не совсем уверен, но я думаю, что переменные среды установлены неправильно.Вот ошибка, которую я получаю из командной строки:

Exception in thread "main" java.lang.NoClassDefFoundError: ...

Любая помощь будет оценена.

Ответы [ 3 ]

4 голосов
/ 02 сентября 2010

Это должна быть проблема CLASSPATH.

В трассировке стека также должно быть указано, какой класс не удалось найти.Как только вы это сделаете, найдите, какая баночка имеет этот класс.Затем добавьте этот jar-файл в ваш classpath или добавьте его в переменную classpath env.

3 голосов
/ 02 сентября 2010

Это, вероятно, проблема с classpath, как говорили другие.

Стоит отметить, как устроен ваш кувшин. У вас есть несколько опций в диалоговом окне для экспорта работающего фляги;

  • Извлечение классов в банку
  • Zip-зависимости в jar - создает jar-in-jar-loader.jar внутри jar.
  • Поместите банки в подкаталог рядом с банкой.

В зависимости от того, что вы выбрали для этого, зависит от поведения банки. Если классы извлечены, зависимые классы, отсутствующие в JDK, должны находиться в пути к классам. Я бы порекомендовал этот курс действий, так как он проще.

Теперь возникает вопрос - используете ли вы зависимость от вашего пути к классам, а не от зависимостей сборки проекта eclipse? Если это так, он не будет упакован с / zip в / положить рядом с jar, потому что eclipse не знает об этом (но java все равно найдет его в вашей системе, потому что он находится в classpath) Кроме того, если вы сохранили сценарий ANT и обновили путь сборки в eclipse, eclipse не обновит этот сценарий ANT - он генерируется только один раз.

0 голосов
/ 02 сентября 2010

Переменные окружения не учитываются при вызове jar-файла при нажатии на него (эквивалентно запуску javaw -jar your.jar).

Я почти уверен, что он не работает на вашем первом ПКвне Eclipse.

...