A menos que esté atascado en una antigua JVM, java.lang.ProcessBuilder
hace que sea mucho más fácil especificar un proceso, configurar su entorno, generarlo y manejar sus descriptores de archivos.
Esta clase se utiliza para crear procesos del sistema operativo.
Cada instancia de ProcessBuilder
administra una colección de atributos de proceso. El método start()
crea una nueva instancia Process
con esos atributos. El método start()
se puede invocar repetidamente desde la misma instancia para crear nuevos subprocesos con atributos idénticos o relacionados.
...
Inicio de un nuevo proceso que utiliza el directorio predeterminado y el medio ambiente de trabajo es fácil:
Process p = new ProcessBuilder("myCommand", "myArg").start();
Este es un ejemplo que se inicia un proceso con un directorio de trabajo modificado y el medio ambiente:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory(new File("myDir"));
Process p = pb.start();
¿Qué mensaje está mostrando pmd exactamente? – Tudor
Descripción del problema: No utilice Runtime.exec() para ejecutar comandos – kannanrbk
Esta es una afirmación absurda, sin ningún respaldo – ControlAltDel