Soy un tipo de Java desde hace mucho tiempo, y saben que la forma de dirigir un frasco con una clase principal que se hace referencia en un archivo MANIFEST.MF
dentro del tarro es fácil:¿Por qué puedo ejecutar JAR directamente desde bash?
java -jar theJar.jar
que estaba usando para poner en marcha este el servidor Fabric3 (contenido en bin/server.jar
en su distribución estándar). Noté que cuando lo desempaqué del tarball de distribución, se marcaba como ejecutable. En un capricho, he intentado
./server.jar
de mi bash
línea de comandos (bash
versión 4.1.5 en Ubuntu 10.10), y he aquí, el servidor puso en marcha como si hubiera escrito el comando normal de java -jar ...
. El JAR está estructurado como un JAR normal; Hice un head
en él, y no había ningún comando #!
en los primeros bytes, por lo que bash
no debería saber mágicamente para iniciar una máquina virtual de Java con él, ¿verdad? ¿O esta versión de bash
ha aumentado la capacidad de iniciar JAR con un manifiesto correcto correctamente? Las mentes que preguntan quieren saber ...
Sí, eso es todo. Puede ejecutar update-binfmts --display en Ubuntu 10.10 para ver la lista si hay controladores instalados. – kkress
gnarly, aparentemente puedo ejecutar llvm bytecode desde la línea de comando ^^. – SingleNegationElimination
ok, eso es increíble! Gracias por la ciencia. – aarestad