簡體   English   中英

e:java.io.IOException:無法運行程序“ java -jar bg.jar”:CreateProcess錯誤= 2,系統找不到文件

[英]e: java.io.IOException: Cannot run program “java -jar bg.jar”: CreateProcess error=2, The system cannot find the file

我有一個名為bg.jar的jar文件,其中顯示了一些數字。 我想從Java程序中調用此bg.jar。 我用了這段代碼

public class bg1 {
public static void main(String[] args) {
    try{
     //  Process ps = Runtime.getRuntime().exec("java -jar bg.jar");
      ProcessBuilder builder = new ProcessBuilder("java -jar bg.jar");
      Process process = builder.start();

    }catch(Exception e){
        System.out.println("e: "+ e.toString());
    }
  }
}

我在bg1項目的librarys文件夾中添加了bg.jar。 但是當我運行bg1.class時,它給了我這個錯誤:

e:java.io.IOException:無法運行程序“ java -jar bg.jar”:CreateProcess錯誤= 2,系統找不到指定的文件

我如何從bg1.class調用bg.jar

我認為找不到文件錯誤是系統找不到“ java”可執行文件。 一種方法是將“ java”目錄路徑添加到環境變量PATH。 要找到該變量,請右鍵單擊“我的電腦” /“高級系統設置” /“環境變量” /“系統變量”。 然后打開一個新的控制台,運行上面的Java程序。

另一種方法可能是將jar文件加載到Java程序中。 然后在您的Java代碼中運行static main方法。 要動態加載Java文件,請參見如何在運行時加載jar文件 可以通過解析jar文件中的META-INF / MANIFEST.MF文件來找到包含main方法的類。

ProcessBuilder builder =新的ProcessBuilder(“ java -jar bg.jar”);

空格在進程生成器命令中不起作用,我嘗試使用逗號分隔的單詞,並且它起作用了。

像這樣的命令“ make macosx”-

ProcessBuilder builder = new ProcessBuilder(“ make”,“ macosx”);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM