繁体   English   中英

运行另一个Java程序中任何位置的Java程序

[英]Running a java program located at any location from another java program

我正在研究一个简单的Java程序,该程序运行另一个位于文件系统中任何位置的Java程序。 这是代码:-

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

class CompileTest {
    public static void main(String args[]) {
         try {
                int k = runProcess("javac H://Study//eclipse_workspace//advance//src//Hello.java");
                if (k==0)
                k=runProcess("java H://Study//eclipse_workspace//advance//src//Hello");
                } catch (Exception e) {
                  e.printStackTrace();
                }
    }

    private static int runProcess(String command) throws Exception {
        Process pro = Runtime.getRuntime().exec(command);
        printLines(command + " stdout:", pro.getInputStream());
        printLines(command + " stderr:", pro.getErrorStream());
        pro.waitFor();
        //System.out.println(command + " exitValue() " + pro.exitValue());
         return pro.exitValue();
    }

    private static void printLines(String name, InputStream ins) throws Exception {
        String line = null;
        BufferedReader in = new BufferedReader(new InputStreamReader(ins));
        while ((line = in.readLine()) != null) {
            System.out.println(name + " " + line);
        }
    }
}

这是Hello.java

class Hello {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Hello");
    }

}

但是当它被编译时,给出的输出为:

java H://Study//eclipse_workspace//advance//src//Hello stderr: Error: Could not find or load main class H:..Study..eclipse_workspace..advance..src..Hello

我正在使用Eclipse IDE

尝试类似: java -classpath . Hello java -classpath . Hello 如果未指定包,则必须从同一目录运行Hello.class

runProcess(cd H:/Study/eclipse_workspace/advance/src/)

接着

runProcess(java Hello)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM