プロジェクトで ProcessBuilder を使用してクラスを実行する際に問題が発生しています。私のコード:
public class Main {
public static void main(String[] args) {
try {
String pathToJar = Main.class.getProtectionDomain().getCodeSource()
.getLocation().toURI().getPath();
ArrayList<String> params = new ArrayList<String>();
params.add("javaw");
params.add("-classpath");
params.add(pathToJar);
params.add("Program");
ProcessBuilder pb = new ProcessBuilder(params);
Process process = pb.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Program は同じプロジェクト (同じ bin フォルダー) にあり、直接実行すると正常に動作しますが、この方法では「メイン クラスが見つかりませんでした: Program」というエラーが表示されます。私のコードのどこにエラーがありますか?
前もって感謝します。
[編集] Program クラスの一部のコードでエラーが発生しているという結論に達しました。基本的には「クリーン」メインでのみ実行されます。Eclipse では、Program クラスは jar ファイル内にあるいくつかのライブラリをインポートしています。ProcessBuilder で参照する必要はありませんか? もしそうなら、どのように?