Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从当前文件夹中的另一个java程序运行存储在子目录中的java程序_Java_Jar_Classpath_Exec - Fatal编程技术网

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

如何从当前文件夹中的另一个java程序运行存储在子目录中的java程序,java,jar,classpath,exec,Java,Jar,Classpath,Exec,我有一个大问题,请帮助我我的情况是这样的,我有RegAlloc.java程序,它使用了几个类,这是另一个包P1和P2。java和这两个包位于名为Temp1的文件夹中。Temp是包含Temp1和Simplify.java的文件夹,该文件夹还包含名为P!我需要从Simplify.java运行RegAlloc,有什么解决方案吗?我正在使用Linux平台,请帮助我 try{ String s="RegAlloc.class"; String[] cmd = {"java", "-clas

我有一个大问题,请帮助我我的情况是这样的,我有RegAlloc.java程序,它使用了几个类,这是另一个包P1和P2。java和这两个包位于名为Temp1的文件夹中。Temp是包含Temp1和Simplify.java的文件夹,该文件夹还包含名为P!我需要从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");
}

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

我的课程如下

  • COne类在包P1中
  • CTwo类在Pakcage P2中
  • 您当前的文件夹类似于F1,其中包含COne.java和CTwo.java 按照以下方式编译类

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

    将Classpath环境变量设置为:

    set CLASSPATH=%CLASSPATH%;./P1;/P2;.
    
    然后像这样运行你的程序

    java P1.COne
    

    问题不清楚。你会犯什么错误?从我的理解来看,String s=“RegAlloc.class”应该是String s=“RegAlloc”,请不要多次问同一个问题。