如何从当前文件夹中的另一个java程序运行存储在子目录中的java程序

时间:2013-10-02 10:06:29

标签: java jar classpath exec

我有大问题,请帮助我我的情况是这样的,我有程序RegAlloc.java,它使用了几个类,这是另一个包P1和P2。 RegAlloc.java和这两个包位于名为Temp1的文件夹中。 Temp是包含Temp1和Simplify.java的文件夹,此文件夹还包含名为P的Pacjages!和P2我需要从Simplify.java运行RegAlloc有什么解决方案吗?我正在使用Linux平台,请帮助我

try{
    String s="RegAlloc.class";
    String[] cmd = {"java", "-classpath=home/koha/pjt_new/Temp/Temp1/", s};

    Process pro2 = Runtime.getRuntime().exec(cmd); 
    BufferedReader in = new BufferedReader(new nputStreamReader(pro2.getInputStream()));

    String line = null;
    System.out.println(in.readLine());

    while ((line = in.readLine()) != null) {
        text+=line;
        text+="\n";
    }
    System.out.println(text);

} catch(Exception e) {
    System.out.println("not Okey");
}

1 个答案:

答案 0 :(得分:0)

设置classpath变量,然后运行程序

我的课程如下

  1. COne类在Package P1中
  2. CTwo Class位于Pakcage P2
  3. 您的当前文件夹类似于F1,其中包含COne.java和CTwo.java;
  4. 按以下方式编译类。

    javac -d . *.java
    

    以上命令将在当前文件夹中创建两个子目录,名称为P1和P2,相应的.class文件将自动推送

    将Classpath环境变量设置为:

    set CLASSPATH=%CLASSPATH%;./P1;/P2;.
    

    运行你的程序

    java P1.COne