пытается запустить файл .jar в командной строке - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь запустить файл jar с помощью командной строки (Windows XP), но получаю NoClassDefFoundError.

У меня есть файл DateAndTime.class в папке с именем dateandtime, а также указан пакет с именем dateandtime в исходном файле.

За пределами папки у меня есть файл manifest.mf со спецификацией

Main-Class: dateandtime. DateAndTime

Я положил это в командный файл

jar cmf manifest.mf myJarFile.jar dateandtime

и это создает myJarFile.jar в той же папке, что и manifest.mf.

Когда я пытаюсь запустить этот jar-файл, я получаю NoClassDefFoundError

java -jar myJarFile.jar

Если я создаю все классы в одном каталоге без указания пакета, файл .jar работает нормально, но как только я пытаюсь указать пакет, даже если myJarFile.jar был создан, я получаю сообщение об ошибке.

Почему это?

Привет

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Если вы получаете NoClassDefFoundError, это означает, что класс, который присутствовал во время компиляции ваших классов, отсутствует во время их выполнения. Это означает, что ваш JAR-файл не содержит всех зависимостей, требуемых вашими классами для запуска. Поскольку в вашем вопросе недостаточно подробных сведений о структуре вашего проекта, я могу только порекомендовать вам повторно просмотреть дерево зависимостей вашего приложения и определить все классы, которые необходимо включить в JAR.

0 голосов
/ 21 августа 2014

Синтаксис: java -jar fileName.jar

Пример: java -jar myfile.jar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...