Acabo de empezar a utilizar TextWrangler en lugar de Eclipse para escribir programas Java. Encontré un script para probar programas Java en Terminal, pero me gustaría manejar todo directamente a través de TextWrangler. ¿Cuál es el shebang de Java para OS X? ¿O hay un shebang de Java que es específicamente para TextWrangler?
Respuestas
¿Demasiados anuncios?Aquí hay un simple wrapper script que efectivamente puede funcionar como un shebang de Java en OS X y Linux:
# /* ------- build and run wrapper script for Java -----------------------------
TMP=$(mktemp -d)
tail -c +3 ${0} > ${TMP}/$(basename ${0})
cd ${TMP} && javac $(basename ${0}) && java $(basename ${0%.*}) ${@:1}
RV=${?} ; cd - > /dev/null ; rm -rf ${TMP}
exit ${RV}
----------------------------------------------------------------------------- */
public class example {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
Sin embargo, como se ha señalado en los comentarios, esto no es técnicamente un "tinglado", pero se acerca bastante en términos de funcionalidad.
#! /usr/bin/java --source=11
El argumento --source es necesario. Si se omite el argumento fuente, se producirá el siguiente mensaje de error.
Error: Could not find or load main class
Este es un ejemplo completo
#! /usr/bin/java --source=11
public class HelloWorld
{
public static void main(final String[] args)
{
System.console().printf("Hello world");
}
}
El ejecutable de java es /usr/bin/java
Así que shebang es
#! /usr/bin/java
Sin embargo, un programa java suele tener más de un archivo java, por lo que se necesita un sistema de construcción, por ejemplo, ant, gradle, maven, sbt .......
Si sólo estás aprendiendo y no estás haciendo un lanzamiento completo para otros usuarios, yo me quedaría con Eclipse (u otro IDE, por ejemplo, Intellij) que también puede empaquetar para otros usuarios