Diferencia entre las bibliotecas de extracción y empaquetado en un archivo jar

Me gustaría saber la diferencia entre las bibliotecas de extracción y empaquetado en un archivo jar de eclipse con la creación del archivo jar ejecutable.

Si mi progtwig (jar ejecutable) utiliza otras clases que requieren estas bibliotecas externas (flasks), ¿qué debo elegir?

Si desea poner jarras en su archivo jar generado, puede usar el método de embalaje. Por ejemplo, si está utilizando una biblioteca Apache u otras jarras de terceros, puede conservar estas jarras en su jar generado. En este caso, use el embalaje. La opción “Empaquetar bibliotecas requeridas en un archivo jar” coloca las clases del paquete org.eclipse.jdt.internal.jarinjarloader en el archivo generado y este paquete se encuentra justo debajo del directorio raíz del archivo jar generado. Esta opción también crea un archivo jar más grande en términos de tamaño debido a las clases de cargador jar de Eclipse.

La extracción de las bibliotecas necesarias dará como resultado la colocación de clases de bibliotecas de terceros en su archivo jar siguiendo la convención de nomenclatura del paquete, por ejemplo, si abre el contenido de su jar, puede ver algunas clases en paquetes org.apache..

Las entradas de la clase principal son diferentes entre los archivos MANIFEST.MF de estos archivos jar:

Entrada de clase principal cuando empaqueta las bibliotecas requeridas:

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

Entrada de clase principal cuando extrae las bibliotecas requeridas:

 Main-Class: YourMainClass