Lim*_*ile 4 java process processbuilder
我试图从Java程序运行一个jar文件,我成功使用getRuntime():
Process processAlgo = Runtime.getRuntime().exec("java -jar "+algoPath);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用时,ProcessBuilder我得到了The system cannot find the file specified异常:
ProcessBuilder builder = new ProcessBuilder("java -jar " + algoPath);
Process processAlgo = builder.start();
Run Code Online (Sandbox Code Playgroud)
我试图更改指定文件的位置,并指示其完整路径,但它不起作用.什么可能导致问题?
Mad*_*mer 10
ProcessBuilder 期望它的参数分别传入.
也就是说,对于每个命令和参数,ProcessBuilder期望将其视为单独的参数.
目前你告诉它运行"java -jar algoPath的价值是什么"......从ProcessBuilder概念来看,这是一个无效的命令.
尝试...
ProcessBuilder builder = new ProcessBuilder("java", "-jar", algoPath);
Process processAlgo = builder.start();
Run Code Online (Sandbox Code Playgroud)
代替.
如果algoPath包含空格(即多于一个参数),则它们也需要分成单独的参数,否则您的程序将不会执行,因为Java会将其algoPath视为单个参数.
查看JavaDocs以获取更多详细信息
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |