it-swarm-ru.tech

Java Eclipse: разница между экспортом в виде JAR и экспортом в виде Runnable JAR

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

83
well actually

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

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

94
Bozho

Выполняемый jar-файл - это файл jar со встроенным файлом манифеста, который содержит объявление "Main-Class:". "Main-Class" должен быть определен, чтобы среда выполнения Java знала, какой класс вызывать, когда jar "run". Если файл jar не содержит манифеста с "Main-Class:", он не считается "исполняемым файлом jar" - это просто библиотека кода Java.

Я предполагаю, что это разница в том, как Eclipse экспортирует банку, но не уверен на 100%.

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

20
Andy White

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

14
Eric-Karl