compilar archivos .java desde otro .java
quisiera que me ayudaran aon un inconveniente que tengo, es sobre como usar javac desde una JFrame para compilar otros .java, lo que intento es añadir un
boton que lo haga, si alguien lo sabe, porfavor ayuda!!!!
boton que lo haga, si alguien lo sabe, porfavor ayuda!!!!
Hola
¿A que molarÃa invocar al compilador directamente sin exec ni nada de eso?
Hay clases de Sun no documentadas, como la com.sun.tools.javac.Main, que tiene dos métodos estáticos:
public static int compile(String[] args);
public static int compile(String[] args, PrintWriter out);
Los argumentos (args) son los mismos que recibe el compilador javac.exe. La segunda sobrecarga del método recibe como argumento adicional la salida donde se redirigen los diagnósticos de la compilación (System.out por defecto).
El valor de retorno es equivalente al valor de salida de javac.exe.
Asà que para compilar:
String[] args = {"clase.java"};
int status = com.sun.tools.javac.Main.compile(args);
Un dÃa de estos os mando un programilla muy curioso que ofrece meterle una sentencia o bloque de sentencias Java en una ventanica y las compila y ejecuta. Una pasada... Y utiliza esta clase que digo.
Salud
David
¿A que molarÃa invocar al compilador directamente sin exec ni nada de eso?
Hay clases de Sun no documentadas, como la com.sun.tools.javac.Main, que tiene dos métodos estáticos:
public static int compile(String[] args);
public static int compile(String[] args, PrintWriter out);
Los argumentos (args) son los mismos que recibe el compilador javac.exe. La segunda sobrecarga del método recibe como argumento adicional la salida donde se redirigen los diagnósticos de la compilación (System.out por defecto).
El valor de retorno es equivalente al valor de salida de javac.exe.
Asà que para compilar:
String[] args = {"clase.java"};
int status = com.sun.tools.javac.Main.compile(args);
Un dÃa de estos os mando un programilla muy curioso que ofrece meterle una sentencia o bloque de sentencias Java en una ventanica y las compila y ejecuta. Una pasada... Y utiliza esta clase que digo.
Salud
David
Hola:
Desde java puedes llamar a comandos del sistema. Para ello puedes usar algo como esto
Runtime.getRuntime.exec ("ejecutable.exe");
En tu caso podrÃas lanzar el compilador de java. Un ejemplo tonto serÃas asi
Runtime.getRuntime.exec ("javac clase.java");
Se bueno.
Desde java puedes llamar a comandos del sistema. Para ello puedes usar algo como esto
Runtime.getRuntime.exec ("ejecutable.exe");
En tu caso podrÃas lanzar el compilador de java. Un ejemplo tonto serÃas asi
Runtime.getRuntime.exec ("javac clase.java");
Se bueno.
