Java Eclipse: разница между экспортом в виде JAR и экспортом в виде Runnable JAR - PullRequest
83 голосов
/ 12 февраля 2011

Какая разница в затмении между экспортом в виде файла JAR и экспортом в виде файла JAR Runnable?Разве они оба не работают?Каковы плюсы / минусы каждого?

Ответы [ 3 ]

93 голосов
/ 12 февраля 2011

Работающий jar содержит файл MANIFEST.MF, который определяет класс Main, который будет выполняться при запуске jar.

Непроигрываемые jar - это просто библиотеки классов, которые можно добавить в путь к классам для повторного использования кода (он также содержит файл манифеста, но не содержит основного класса)

20 голосов
/ 12 февраля 2011

Работающий jar - это файл jar со встроенным файлом манифеста, который включает объявление «Main-Class:».«Основной класс» должен быть определен, чтобы среда выполнения Java знала, какой класс вызывать, когда jar «запущен».Если в банке отсутствует манифест с «Main-Class:», он не считается «исполняемым банком» - это всего лишь библиотека кода Java.Eclipse экспортирует банку, но не уверен на 100%.

См. Эту ссылку для получения дополнительной информации: http://www.skylit.com/javamethods/faqs/createjar.html

14 голосов
/ 12 февраля 2011

При использовании стандартного файла JAR вы должны указать класс с помощью метода main в командной строке при запуске jar. При работающем JAR-файле существует файл манифеста, который будет содержать эту информацию, поэтому вы можете просто набрать java -jar myRunnable.jar или просто дважды щелкнуть по нему.

...