日期:2014-05-20  浏览次数:20748 次

怎么在java程序里调用cmd 执行java指令?
大三java课需要写个编译器前端,现在编辑器都写好了,到运行那一步的时候出问题了。代码如下:
runbutton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
try {
String str = chooser.getSelectedFile().getPath();
String path = str.substring(0,str.length()-5); 
  Runtime rt = Runtime.getRuntime();
rt.exec("cmd /k start java " + path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

});


      执行到这的时候,弹出的cmd窗口一闪而过。但还是能看到里面的提示信息是:错误:找不到或无法加载主类。
      用同样的方法能够调用javac编译当前打开的文件,为什么调用java命令的时候就不行了。还有cmd窗口为什么还是一闪而过,没有停留。不是用/k 就不会立即关闭么? 对java完全是个新手,求大神指导,谢谢~~~~
------解决方案--------------------
自己写一个类加载器加载你选择的那个文件,然后直接调用这个类的main方法不就行了,根本不用这么麻烦的啊。直接在当前虚拟机里面运行。