我在使用ProcessBuilder在我的項目中運行一個類時遇到了問題。 我的代碼:Java 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();
}
}
}
類節目是在同一個項目中(同一bin文件夾),如果直接運行工作正常,但這樣一來我得到的錯誤「找不到主類:程序」。我的代碼中的錯誤在哪裏?
在此先感謝。
[編輯] 我來到我的程序類的一些代碼給出錯誤的結論。基本上只運行「乾淨」的主。在eclipse中,Program類正在導入一些jar文件內的庫。我不需要在ProcessBuilder中引用它嗎?如果是這樣,怎麼樣?
什麼***包***是'程序'類?在'params.add(「Program」);'你需要提供完全合格的類名。 –
沒有任何類具有包。無論如何,把這兩個包build.test如此改變'params.add(「build.test.Program」);'。還是一樣的錯誤 – Ciro
你試過輸出'pathToJar'的值嗎?這是你期望的嗎? –