繁体   English   中英

如何在另一个Java程序中编译和运行Java程序-netbeans

[英]how to compile & run java program in another java program-netbeans

我尝试使用netbeans运行问题中接受的答案。 类文件已创建,但未执行。 这是我的代码

import java.io.*;

public class Laj {

  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);
    }
  }

  private static void 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());
  }

  public static void main(String[] args) {
    try {
      runProcess("javac /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3/Main.java");
      Thread.sleep(1000);
      runProcess("java /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3/Main");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Main.java只是一个打印语句,

  public class Main {
  public static void main(String[] args) {
System.out.println("Done");
 }
 }

而且我得到了错误

javac /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3/Main.java exitValue() 0

java /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3/Main stderr: Error: Could not find or load main class 
.home.shibin.NetBeansProjects.JavaApplication3.src.javaapplication3.Main

java /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3/Main exitValue() 1

运行Java程序的命令是java packageName.programNamejava packageName/programName 。这里的问题是您正在使用java pathOfProgram/programname运行代码。 要解决此问题,您必须使用-cp参数后跟programPath来提供类路径,如下所示:

java -cp pathOfProgram packageName.programName

尝试这个:

runProcess("java -cp /home/shibin/NetBeansProjects/JavaApplication3/src/javaapplication3 Main");

您的Java命令应具有classpath参数。 最好使用cmd数组。 Java进程api不是xommand行。

暂无
暂无

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

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