wars throne the star requisitos republic old knights fallen eternal español empire descargar maven uberjar

maven - throne - ¿Qué es un jarro súper?



star wars the old republic pc (4)

Estoy leyendo la documentación de Maven y encontré el nombre ''uber-jar''.

¿Qué significa un uber-jar y cuáles son sus características / ventajas?


La definición de Paxdiablo es realmente buena.

Además, considere entregar un uber-jar a veces es bastante interesante, si realmente desea distribuir un software y no desea que el cliente tenga que descargar dependencias por sí mismo. Como retroceso, si su propia política no permite el uso de alguna biblioteca, o si tienen que unir algunos componentes adicionales (slf4j, libs compatibles con el sistema, arch specialiez libs, ...) esto probablemente les dificultará las cosas. .

Puedes realizar eso:

Una solución más limpia es proporcionar su biblioteca por separado; maven-shade-plugin tiene un descriptor preconfigurado para eso. Esto no es más complicado de hacer (con maven y su complemento).

Finalmente, una solución realmente buena es usar un paquete OSGI. Hay muchos buenos tutoriales sobre eso :)

Para una configuración posterior, lea esos temas:


Un archivo Java autónomo y ejecutable. En el caso de los uberjars de WildFly Swarm, es un archivo .jar único que contiene su aplicación, las partes de WildFly necesarias para soportarlo, un repositorio interno de dependencias de Maven, más un shim para arrancarlo todo. mira esto


Über es la palabra alemana para above o para above , como en una línea de un himno nacional anterior: Deutschland, Deutschland, über alles (Alemania, Alemania por encima de todo).

Por lo tanto, en este contexto, un uber-jar es un "over-jar", un nivel arriba de un simple "jar", definido como uno que contiene tanto su paquete como todas sus dependencias en un solo archivo JAR. Se puede pensar que el nombre proviene del mismo establo que ultrageek, superman, hiperespacio y metadatos, todos los cuales tienen significados similares de "más allá de lo normal".

La ventaja es que puedes distribuir tu uber-jar y no preocuparte si las dependencias están instaladas o no en el destino, ya que tu uber-jar en realidad no tiene dependencias.

Todas las dependencias de sus propias cosas dentro del uber-jar también están dentro de ese uber-jar. Como todas las dependencias de esas dependencias. Y así.


ubar jar también se conoce como jar gordo, es decir jar con dependencias.
Hay tres métodos comunes para construir un jarro uber:

  1. Sin sombrear: desempaquete todos los archivos JAR, luego vuelva a empaquetarlos en un solo JAR. Funciona con el cargador de clases predeterminado de Java. Herramientas maven-assembly-plugin
  2. Sombreado: Igual que sin sombrear, pero cambie el nombre (es decir, "sombrear") todos los paquetes de todas las dependencias. Funciona con el cargador de clases predeterminado de Java. Evita algunos (no todos) los conflictos de versiones de dependencias. Herramientas maven-shade-plugin
  3. JAR de JAR: el archivo JAR final contiene los otros archivos JAR incrustados. Evita conflictos de versiones de dependencia. Todos los archivos de recursos se conservan. Herramientas: Eclipse JAR File Exporter

para más