Java ProcessBuilder使用身份验证

时间:2012-06-13 12:01:00

标签: java processbuilder

我正在使用java进程构建器执行外部应用程序。

例如

./appl -file user@host:/tmp/out.log 

此应用程序首先从外部主机检索文件out.log,然后执行。 此外,执行上述命令提示后,它会提示输入主机密码。

如何使用java进程构建器实现此目的? 我试图以下面提到的方式输入命令。但是它会抛出一个错误,找不到主机。

List<String> command = new ArrayList<String>();
command.add("./appl");
command.add("-file");
command.add("user@host:/tmp/out.log");

1 个答案:

答案 0 :(得分:0)

正如您明确提到的: 此外,执行上述命令提示后,它会提示输入主机密码。

我相信命令未被执行的原因是因为您触发的子进程需要输入(主机密码),而您没有提供。因此,您需要创建一个OutputStream来为您的子流程提供输入。对于初学者,read this question