traza servidor salida puede para org los jasperexception jasper hay este estado error encuentra diario completa compilar clase causa carpeta archivos java cmd runtime

servidor - Ejecutando código java compilado en tiempo de ejecución



http 500 no se puede compilar la clase para jsp (1)

Quiero ejecutar el código compilado antes. Compilé de todos modos, no es importante cómo compilar, pero ejecutar el código es un problema.

Mi code.java

public class code{ public static void main(String[] args) { System.out.println("Hello, World"); } }

Luego compilé este código y se code.class (en el directorio D:// ). Ahora quiero ejecutar este archivo compilado. Mi código es:

import java.io.IOException; import java.io.InputStream; public class compiler { public static void main(String[] args) { final String dosCommand = "cmd /c java code"; final String location = "D://"; try { final Process process = Runtime.getRuntime().exec( dosCommand + " " + location); final InputStream in = process.getInputStream(); int ch; while((ch = in.read()) != -1) { System.out.print((char)ch); } } catch (IOException e) { e.printStackTrace(); } } }

Aquí no hay error pero este código no hace nada. Ningún cmd abierto, nada. ¿Dónde estoy equivocado? ¿Que debería hacer?


actual su comando cmd es incorrecto.

cmd /c java code D:/ /*this is not correct cmd command*/

debería ser

cmd /c java -cp D:/ code

cuando ejecuta un archivo .class en una carpeta diferente pero no en la carpeta actual, use -cp para especificar la ruta de clase

there is no error realidad, no. Pero no los capturó. Para capturar errores, puede usar getErrorStream()

código de ejemplo

public class compiler { public static void main(String[] args) { final String dosCommand = "cmd /c java -cp "; final String classname = "code"; final String location = "D://"; try { final Process process = Runtime.getRuntime().exec(dosCommand + location + " " + classname); final InputStream in = process.getInputStream(); final InputStream in2 = process.getErrorStream(); int ch, ch2; while ((ch = in.read()) != -1) { System.out.print((char) ch); } while ((ch2 = in2.read()) != -1) { System.out.print((char) ch2); // read error here } } catch (IOException e) { e.printStackTrace(); } } }