Разница между извлечением и упаковкой библиотек в файл jar
Я хотел бы знать разницу между извлечением и упаковкой библиотек в файл jar из eclipse с созданием файла runnable jar.
Если моя программа (runnable jar) использует другие классы, которые требуют этих внешних библиотек (jars), что мне выбрать?
Ответ 1
Если вы хотите поместить банки в созданный файл jar, вы можете использовать метод упаковки.
Например, если вы используете библиотеку Apache или некоторые другие сторонние банки, вы можете сохранить эти банки в вашей сгенерированной банке. В этом случае используйте упаковку.
Параметр "Упаковка необходимых библиотек в файл jar" помещает классы org.eclipse.jdt.internal.jarinjarloader в ваш сгенерированный файл, и этот пакет находится только в корневом каталоге сгенерированного файла jar. Этот параметр также создает более крупный файл jar с точки зрения размера из-за классов jar-загрузчика Eclipse.
Извлечение требуемых библиотек приведет к тому, что классы ваших сторонних библиотек помещают в ваш файл jar, следуя соглашению об именах пакетов, например. если вы откроете свой контент jar, вы можете увидеть некоторые классы в пакетах org.apache...
Записи основного класса различаются между файлами MANIFEST.MF этих файлов jar:
Запись основного класса, когда требуемые библиотеки пакет: