Executar comando com a classe Runtime

1 resposta
S

Pessoal,

Alguém sabe dizer por que isso não rola;


String sCom = “%windir%\system32\java.exe -classpath J:\ Testeenquantoexecute”;

try {
Runtime.getRuntime().exec(sCom);
} catch (IOException e)
{
System.out.println(e.getMessage());
}

Olha o pau que dá;

Cannot run program “%windir%\system32\java.exe”: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado

java.io.IOException: Cannot run program %windir%\system32\java.exe”: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado

at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)

at java.lang.Runtime.exec(Runtime.java:593)

at java.lang.Runtime.exec(Runtime.java:431)

at java.lang.Runtime.exec(Runtime.java:328)

at br.com.usjt.portj.util.UtilPortJ.executarClasse(UtilPortJ.java:116)

at br.com.usjt.portj.frames.FrameInternoPortJ.executar(FrameInternoPortJ.java:317)

at br.com.usjt.portj.frames.FrameInternoPortJ.access$3(FrameInternoPortJ.java:312)

at br.com.usjt.portj.frames.FrameInternoPortJ$5.actionPerformed(FrameInternoPortJ.java:179)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:377)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:232)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:5999)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3240)

at java.awt.Component.processEvent(Component.java:5764)

at java.awt.Container.processEvent(Container.java:1984)

at java.awt.Component.dispatchEventImpl(Component.java:4407)

at java.awt.Container.dispatchEventImpl(Container.java:2042)

at java.awt.Component.dispatchEvent(Component.java:4237)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4248)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3912)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3842)

at java.awt.Container.dispatchEventImpl(Container.java:2028)

at java.awt.Window.dispatchEventImpl(Window.java:2405)

at java.awt.Component.dispatchEvent(Component.java:4237)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:600)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Caused by: java.io.IOException: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado

at java.lang.ProcessImpl.create(Native Method)

at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)

at java.lang.ProcessImpl.start(ProcessImpl.java:30)

at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) 32 more

Alguém ajuda!?

1 Resposta

J

Porque a JVM não sabe o que é %windir% :wink:

String sCom = System.getenv&#40;"windir"&#41;+"\\system32\\java.exe -classpath J&#58;\\ Testeenquantoexecute";
Criado 2 de novembro de 2006
Ultima resposta 2 de nov. de 2006
Respostas 1
Participantes 2