0

別の Java アプリケーションから Java プログラムを実行しようとしています。これが私のコードです:

public class Main {
  public static int Exec() throws IOException {
    Process p = Runtime.getRuntime().exec("javac -d C:/Users/Dinara/Desktop/D/bin "
            + "C:/Users/Dinara/Desktop/D/src/test.java");
    Process p1 = Runtime.getRuntime().exec("java -classpath C:/Users/Dinara/Desktop/D/bin test");
    return 0;
  }

  public static void main(String[] args) throws IOException {
    Exec();
  }
}

javactest.class正常に動作し、bin ディレクトリにファイルを作成します。ただしjava -classpath C:/Users/Dinara/Desktop/D/bin test、ファイルは実行されませんtest.class。の内容test.java:

import java.io.*;
class test {
  public static void main(String args[]) {
    try {  
      FileWriter fstream = new FileWriter("out.txt");
      BufferedWriter out = new BufferedWriter(fstream);
      out.write("Hello Java");
      out.close();
    } catch (Exception e) {
    System.err.println("Error: " + e.getMessage());
    }
  }
}

Javaコマンドの認識に問題があると思います。この問題を解決するためのサンプル コードを教えてください。またはアイデアを共有してください。Netbeans を使用してメイン クラスを実行しています。アプリケーション フォルダーの場所は C:\Users\Dinara\Main です。

4

2 に答える 2

3

使用する

System.getProperty("java.home") + "/bin/java -classpath C:/Users/Dinara/Desktop/D/bin test" 

それ以外の

"java -classpath C:/Users/Dinara/Desktop/D/bin test"
于 2012-08-02T10:42:25.350 に答える
2

javacへのフルパスを指定する必要があります。execはathを使用してjavacを検索しません。

于 2012-08-02T10:39:04.913 に答える