Un jar es, en su raíz, un contenedor para un conjunto de archivos y carpetas: de hecho, cualquier utilidad compatible con zip puede enumerar su contenido. Algunos de esos archivos serán recursos (íconos, archivos de propiedades …), pero la mayoría de ellos serán archivos ” .class
” respetando una jerarquía de paquetes.
Cualquiera de esas clases, si contiene un método “principal” estático, puede invocarse desde la línea de comando como un “punto de entrada” para el jar (utilizando la java -cp [myjar.jar] [mainclass.class]
). Esta clase es libre de cargar y usar otras clases y recursos de este jar según sea necesario.
Por razones de simplicidad, un archivo específico, el “MANIFEST”, puede contener una entrada ” Main-Class: classname
” que especifica la clase principal (es decir, el punto de entrada) de este jar. En este caso, el jar se puede “ejecutar” utilizando la sintaxis java -jar [myjar.jar] “.
Por lo tanto, un “jar ejecutable” no es más que un jar que especifica su clase principal a través del segundo mecanismo. Si no está presente, nada en Java estándar le impide ejecutar cualquier otra clase utilizando el primer mecanismo, ya que la especificación ” Main-Class
” es solo una pista útil.
- Me gradué de la universidad hace 15 años y ahora quiero ir a la escuela de posgrado, pero siempre he sido un poco solitario y no tengo a nadie en mi vida que pueda escribir cartas de recomendación. ¿Qué debo hacer?
- Necesito un Rs. Préstamo de 2 millones de rupias para un negocio. Tengo muchas tierras como garantía, pero ninguna que sea de granja. La conversión de la granja es costosa y tomará meses. ¿Qué debo hacer?
- Mi perro vomitó, ¿está bien evitar que coma algo después de que lo haga?
- Estoy demasiado estresado por mi vida de estudiante, ¿qué debo hacer?
- Actualmente estoy trabajando en una empresa que nunca antes había solicitado visas H1B, pero me gustaría hacerlo ahora. ¿Alguien podría explicar el proceso exacto?