Разница между извлечением и упаковкой библиотек в файл jar


Я хотел бы знать разницу между извлечением и упаковкой библиотек в файл jar из eclipse с возможностью запуска создания файла jar.

Если моя программа(runnable jar) использует другие классы, которые требуют этих внешних библиотек (jars), что я должен выбрать?

1 63

1 ответ:

если вы хотите поместить банки в созданный файл jar, вы можете использовать метод упаковки. Например, если вы используете библиотеку Apache или некоторые другие сторонние банки, вы можете сохранить эти банки в сгенерированной банке. В этом случае используйте упаковку. "упаковка необходимых библиотек в файл jar" опция ставит классы org.eclipse.jdt.internal.jarinjarloader пакет в сгенерированный файл, и этот пакет находится прямо под корневым каталогом сгенерированного файла jar. Этот параметр также создает более крупный файл jar с точки зрения размера из-за классов загрузчика jar Eclipse.

извлечение необходимых библиотек приведет к помещению классов сторонних библиотек в ваш файл jar, следуя соглашению об именовании пакетов, например, если вы откроете содержимое jar, вы можете увидеть некоторые классы под org.apache.. пакеты.

основные записи класса отличаются между MANIFEST.MF файлы этих файлов jar:

Главная запись класса, когда вы пакета требуются библиотеки:

Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

Главная запись класса, когда вы экстракт требуются библиотеки:

Main-Class: YourMainClass