不知道大家用过jxta shell不
它里头提供了许多指令命令
那么我想用java调用它执行,咋处理呢?再简化一下问题
比如说你写了a.java,一个简单的加法处理,它是需要带参数的
比如说参数是2 3
执行java a 2 3后
输出5
那么我想你在程序b里,调用a程序来执行那么咋办呢?
再扩展一下 
如果java想调用linux里不同的shell指令
咋处理?呵呵,有强人不?
贴点码子

解决方案 »

  1.   

    //假设a.class在c:\
    try{
      Runtime.getRuntime().exec( "cmd /c start java c:\\a 2 3");
    }catch(Exception e){System.out.println(e);}
      

  2.   

    public class JCmd{
       public static void main(String[] args){    
         try{
    Runtime.getRuntime().exec("java MediaPlayer");
    }catch(Exception e){System.out.println(e);}
      } 
    }这样可以运行,,
    如果“java c:\\MediaPlayer”总是不能运行,,
    加上盘符就不能运行,,这是什么问题,,
    请指教
      

  3.   

    可能我简化后的例子太简单了但现在用了shell不是windows的cmd
    是用java写的一个shell
    叫jxta shell
    大家可以假设它为别的东东
    比如linux下的bash shell那么再请问下高手们
    这个东西可咋整啊?
      

  4.   

    //不用cmd也是可以的啊,假设a.class在c:\
    try{
      Runtime.getRuntime().exec( "java c:\\a 2 3");
    }catch(Exception e){System.out.println(e);}
      

  5.   

    这样情况,我需要调的这个类(假设为refr)根本就没有main 入口
    所以根本就行不通java refr ** **之类的而是从别的类(假设为Mn)进入入口
    然后参数从Mn产生的一个shell界面读入
    读入参数后再传给refr
    而且这个refr本身又是继承别的类(假设ref)而来的
    且refr在执行时需要调用父类和别的类(假设oc)这下咋办呢?
    hoho~~
      

  6.   

    public class RunOtherApplication { public static void main(String[] args) {
    try{
    System.out.println("begin");
      Runtime.getRuntime().exec( "cmd /c start C:\\bea\\user_projects\\domains\\HBEP\\autoStart.cmd");
      System.out.println("end");
    }catch(Exception e){System.out.println(e);} }
    }
      

  7.   

    如果是带参数的话,你把调用这个程序的命令写成一个批处理cmd文件,然后用类似:
    Runtime.getRuntime().exec( "cmd /c start C:\\bea\\user_projects\\domains\\HBEP\\autoStart.cmd");
      

  8.   

    如果要固定参数还好说,楼主的意思是执行的过程中还要从shell窗口获得参数,是随机输入的,那样就麻烦了
      

  9.   

    如果是带参数的话,你把调用这个程序的命令写成一个批处理cmd文件,然后用类似:
    Runtime.getRuntime().exec( "cmd /c start C:\\bea\\user_projects\\domains\\HBEP\\autoStart.cmd");是阿,这样就好了