Показано «Не удалось загрузить атрибут манифеста основного класса из TestExample.jar» - PullRequest
3 голосов
/ 10 февраля 2012
Failed to load Main-Class manifest attribute from TestExample.jar 

Как решить вышеуказанную проблему, когда я пытаюсь запустить исполняемый файл JAR?

Ответы [ 3 ]

0 голосов
/ 10 февраля 2012

Вам необходимо указать основной класс в Манифесте.Так вы указываете точку входа в банку.Класс, который вы здесь указываете, должен иметь метод main, который выполняется первым при запуске jar.

Посмотрите на это для хорошего объяснения: http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html

0 голосов
/ 09 октября 2014

Java имеет два метода, чтобы начать с файла JAR. Первый указывает JAR-файл и основной класс (класс со статическим методом main(String[])):

java -cp .../example.jar com.example.Main

Второй метод использует параметр -jar (вместо параметра -classpath). Он НЕ позволяет указывать основной класс: вместо этого он ожидает, что основной класс будет указан внутри файла JAR в Manifest . (META-INF/MANIFEST.MF содержит строку Main-Class: com.example.Main).

java -jar example.jar

Ваше сообщение об ошибке означает, что у вас есть JAR-файл, который не сконструирован как исполняемый JAR-файл (нет записи манифеста для основного класса). Вам нужно либо создать JAR-файл по-другому, либо запустить его с первого варианта командной строки. Кстати, второй вариант часто используется при двойном щелчке файла с расширением *.jar.

0 голосов
/ 10 февраля 2012

Вы включили файл META-INF в банку, в которой указан Main-Class?

Команда: jar cvfm MyJarName.jar manifest.txt *.class

cvfm означает «создать jar-файл; показать подробный вывод; указать имя выходного jar-файла; указать имя файла манифеста».

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