你的Runtime环境和Dos下得到的系统环境参数可能不一样,比如类路径之类的。
建议用输出语句看一看

解决方案 »

  1.   

    9p(在问题中成长):请深入讲解一下,OK?
      

  2.   

    首先我有些不太明白你描述的结果,是不是,你的批处理没有好使?
    我也用过类似的代码,几乎一样,并且好使,确实不会出现控制台窗口,因为Process是作为一个子进程处理的。
      

  3.   

    对,jswdk的startserver.bat文件好像并没有启动一样,因为我在浏览器地址栏中输入http://localhost:端口号 没有启动的页面显示。请问究竟要怎样才能启动一个批处理文件?需要修改jswdk的startserver.bat还是要在CLASSPATH中做其他配置?
      

  4.   

    我用你的代码试验一下,再现了你的现象。
    我是调用tomcat的startup.bat文件,调用以后确实没有反应,不过我加了几句就好使了,
    不知道会不会对你有帮助。
    代码如下:
    import java.io.*;
    public class Test {
      public static void main(String[] command) {
          try {
            Process proc = Runtime.getRuntime().exec("c:\\program\\tomcat\\bin\\startup.bat");
            proc.waitFor();
          }
          catch(IOException ioError) {
            ioError.printStackTrace();
            System.exit(0);
          }
          catch(InterruptedException ioError) {
    //        ioError.printStackTrace();
            System.exit(0);
          }
      }
    }