java - Processbuilder 执行带有争论的 jar 文件
问题描述
我想使用 ProcessBuilder 执行一个带有一些争论的 jar 文件,但我不确定如何构造语法。
例如,我想执行以下操作:
processBuilder.command("cmd.exe", "/c", "java" ,"-jar" + this.jar_filepath + " " + this.tc_name + " " + this.test_data + " " + this.test_result);
基本上,我正在尝试执行一个 jar 文件,该文件位于jar_filepath
并将参数的内容发送tc_name, test_data
到执行的 jar 文件test_result
的 main 方法。
这显然是错误的,希望对如何正确构造语法有指导。
更新: 对于凯文布恩:
try {
Process process = processBuilder.start();
process.waitFor() ;
BufferedReader reader = new BufferedReader(new
InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
}
catch (IOException e) {
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
解决方案
假设其他部分都很好,
"-jar" + this.jar_filepath
少了一个空格,应该是
"-jar " + this.jar_filepath
^
或者只是,
在任何地方使用并让 ProcessBuilder 插入空格。
推荐阅读
- java - 在python中以毫秒为单位获取GMT时间
- php - Uploading a JSON file with the same name to a PHP server takes effect after too much time
- r - How to group by on all the columns in data.frame?
- python - Google Colab - 从 GitHub 安装?GLRM
- python - Windows 中 Tensorflow 的 cuda_dnn 错误:“无法创建 cudnn 句柄:CUDNN_STATUS_NOT_INITIALIZED”
- android - Firebase Cloud Messagging 无法在某些设备的后台状态下运行
- ruby-on-rails - 如何接受来自网络应用程序的邀请并登录?
- google-api - Google Drive API REST 插入权限在节点上返回 500 错误
- android - 在 Android Java 应用程序中使用 Kotlin AAR 时出现 java.lang.NoClassDefFoundError
- javascript - 如何在 jQuery 中使用 unbind show 方法?