Исключение в потоке "main" java.lang.NullPointerException: при попытке запустить файл jar - PullRequest
2 голосов
/ 15 февраля 2012

Когда я запускаю команду java -jar MyJar.jar, я получаю следующие ошибки:

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

Какие это ошибки?В чем может быть причина того, что я получаю эти ошибки?

До того, как я упаковал пакеты в файл jar, сцена была:

enter image description here

Затем я упаковал вышеупомянутоефайлы вместе с пакетами, введя:

jar -cf MyJar.jar .\Design\*.class .\InterfaceImplementation\*.class .\Interfaces\*.class .\messenger\*.class Manifest.MF RemoteMethodImpl_Stub.class

ПРИМЕЧАНИЕ: Когда я распаковываю файл jar, появляется папка с именем META-INF, которая также содержит MANIFEST.MF, но не имяmain class.

Содержимое моего файла MANIFEST.MF: Main-Class : messenger.Messenger также попыталось поставить косую черту

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Чтобы добавить банку недостаточно, чтобы включить ее в файлы, вы должны использовать опцию m, например

jar cmf myManifestFile myFile.jar *.class

согласно документации jar Порядок параметров m и f должен соответствовать порядку параметров для имени файла MANIFEST и файла jar.

Примите во внимание и это предупреждение: Существующий файл манифеста должен заканчиваться символом новой строки. jar не анализирует последнюю строку файла манифеста, если он не заканчивается символом новой строки.

1 голос
/ 15 февраля 2012

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

Main-Class: com.Main
...