2013-10-02 43 views
0

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

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"); 
} 
+0

问题不清楚。你得到的错误是什么?从我能理解的字符串s =“RegAlloc.class”应该是String s =“RegAlloc” –

+1

请不要多次提问同一个问题。 –

回答

0

设置CLASSPATH变量,然后运行该程序

在那里我有类似如下

  1. 锥类是在包P1
  2. CTwo类在Pakcage P2
  3. 您当前的文件夹就像F1,其中包含COne.java和CTwo.java;

以下列方式编译类。

javac -d . *.java 

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

设置CLASSPATH环境变量:

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

并运行你的程序就像

java P1.COne 
相关问题