Ответ 1
Попробуйте запустить
java -cp ScrumTimeCaptureMaintenence.jar Main
Я пытаюсь запустить файл jar с консоли:
java -jar ScrumTimeCaptureMaintenence.jar
И я получаю сообщение об ошибке:
Невозможно выполнить jar файл: "нет основного атрибута манифеста"
Как вы можете видеть, у меня действительно есть основной файл, и он отлично работает от eclipse:
Что мне нужно сделать, чтобы успешно запустить этот файл из командной строки?
Попробуйте запустить
java -cp ScrumTimeCaptureMaintenence.jar Main
В Eclipse: right-click
в вашем проекте → Export
→ JAR file
На последней странице с параметрами (если не будет кнопки Next
), вы увидите настройки для Main class:
. Вам нужно установить здесь класс с помощью метода main
, который должен быть выполнен по умолчанию (например, когда файл JAR будет дважды щелкнуть).
Вы можете выбрать "Runnable JAR File" после нажатия "Export".
Вы можете указать свой основной драйвер в "Конфигурация запуска"
Параметр -jar
работает только в том случае, если JAR файл является исполняемым JAR файлом, что означает, что в нем должен быть файл манифеста с атрибутом Main-Class
.
Если это не исполняемый JAR, вам нужно запустить программу с чем-то вроде:
java -cp app.jar com.somepackage.SomeClass
где com.somepackage.SomeClass
- это класс, содержащий метод main
для запуска программы.
Сначала запустите приложение из eclipse, чтобы создать конфигурацию запуска. Затем выполните следующие действия:
- В меню меню Файл выберите Экспорт.
- Разверните Java node и выберите Runnable JAR file. Нажмите Далее.
- в Runnable JAR File Specification, выберите конфигурацию запуска Java-приложения, которая будет использоваться для создания runnable JAR.
- В поле Экспорт назначения введите либо нажмите или Обзор, чтобы выбрать местоположение. для файла JAR.
- Выберите соответствующую библиотеку.
- При желании вы также можете создать ANT script, чтобы быстро восстановить ранее созданный исполняемый JAR файл.
Источник: Создание нового Runnable JAR File на Eclipse.org
Экспортируйте проект Java как файл Runnable Jar, а не Jar.
Я экспортировал мой проект как Jar, и даже несмотря на то, что манифест присутствовал, он дал мне ошибку без основного атрибута манифеста в jar, хотя файл манифеста присутствовал в Jar. Однако в файле манифеста есть только одна запись, и она не указала основной класс или функцию для выполнения или любые зависимые JAR
После экспорта в качестве Runnable Jar file он работает как ожидалось.
Вам нужно включить атрибут "Основной класс" в файле Manisfest.mf в Jar
Например: Main-Class: MyClassName
Во-вторых, Чтобы добавить файл манифеста в свою банку, вы можете вручную создать файл в своей папке рабочего пространства и обновить его в Eclipse Project explorer.
При экспорте Eclipse создаст Jar, который будет содержать ваш манифест.
Приветствия!!