Не удалось выполнить файл jar с помощью команды java -jar - PullRequest
2 голосов
/ 19 ноября 2011

Я создал jar-файл, использующий сборку maven2. Я пытаюсь запустить этот файл JAR с помощью команды:

java -jar sample.jar com.app.Test

Test являющийся классом, имеющим основной метод. Но я получаю это исключение:

Exception in thread "main" java.lang.NullPointerException
        at sun.launcher.LauncherHelper.getMainClassFromJar(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Может ли кто-нибудь помочь мне разрешить это исключение и запустить файл jar?

Заранее спасибо.

Ответы [ 3 ]

7 голосов
/ 19 ноября 2011

Если вы хотите запустить тестовый класс, вы должны использовать

 java -cp sample.jar com.app.Test

Таким образом, вы добавляете банку в путь к классам, а затем запускаете указанный основной класс.

Что java -jar делает то, что выполняет исполняемый файл JAR (который определяет свой собственный главный класс в файле манифеста).Любые параметры после этого не будут использоваться для указания класса, но окажутся в массиве String, переданном методу main.

Так что, если у вас есть правильно сконструированный исполняемый файл JAR, он должен быть просто

java -jar sample.jar 
2 голосов
/ 10 октября 2012

Если вы используете Maven, вам может понадобиться команда установки maven.Вы можете найти формат здесь http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

0 голосов
/ 19 ноября 2011

Похоже, вам нужен манифест и атрибут Main-Class, если у вас его нет.Если вы используете Java 7, ошибка здесь хранится http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7067922

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