[英]Java ProcessBuilder calling another java with arguments
我想使用ProgressBuilder運行另一個帶有參數插入的jar。
示例: es.jar
文件和Main
類,以及arg sl
。 我知道我可以這樣使用Runtime.getRuntime().exec()
:
String arg = "sl";
Process p = Runtime.getRuntime().exec("java -cp \"es.jar " + arg + "\" Main");
如果我使用ProgressBuilder
而不使用arg sl
,它將是這樣的:
processBuilder.command("java","-cp","es.jar", "Main").start();
但是,需要arg sl
,我該如何插入? 我嘗試了以下代碼,但顯然它們都不起作用:
processBuilder.command("java","-cp","es.jar sl", "Main").start(); // failed
processBuilder.command("java","-cp","\"es.jar sl\"", "Main").start(); // failed also
java -cp "es.jar sl" Main
沒有任何意義,我很確定它會失敗
java
狀態為java [-options] class [args...]
,因此選項之后的第一個參數是要執行的類,因此根據您的問題,這意味着需要將其
java -cp es.jar Main sl
,或更具體地說,關於您的問題, processBuilder.command("java","-cp","es.jar", "Main", arg).start();
請改用以下命令:
java -cp es.jar Main
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.