java - 通过 java 程序执行命令时如何为命令提示符编写/提供输入

标签 java windows git cmd runtime

我已经为我的项目尝试过 POC。我在 JavaRuntime 的帮助下通过我的 java 程序运行一些 cmd 命令,无需用户交互。现在我可以运行该命令,但无法在运行时提供一些输入。

这是我的示例代码。

Process process = null;
        try {
            Runtime runtime =  Runtime.getRuntime();
            process = runtime.exec(command);
            logger.logOutput(process.getInputStream(), "Response Success : ");
            logger.logOutput(process.getErrorStream(), "Error: ");
            process.waitFor();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }

我的示例命令

"cmd /c start cmd.exe /K "E: && cd E:\Live\rsrk-node-api && git status\""

上面的评论完美执行。

我的另一个命令是:“git pull origin master”

现在这个命令需要我的bitbucket密码才能访问。我需要通过java程序输入这个密码。

我尝试过其他方法,例如将 ssh 配置到我的 bitbucket,但每次都在 Windows 系统中询问密码。

所以请帮我解决这个问题。

最佳答案

我宁愿尝试:

cmd /C "cd /d E:\Live\rsrk-node-api && git status"

请注意 cd/d 部分,这将确保驱动器已更改。

应该不需要cmd ...启动cmd...

确保您的程序正在使用您的帐户运行,并且 git config credential.helper 设置为 manager。

如果您使用 SSH,请首先尝试使用不带密码的 SSH key 。

关于java - 通过 java 程序执行命令时如何为命令提示符编写/提供输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59005565/

相关文章:

Java 图形闪烁

git - 从 Hg 切换到 Git 时的 Subrepo 工作流程问题

git - 哪个提交有这个 Blob ?

java - Elasticsearch : RemoteTransportException in Paginated search for more than 10000 results

java - 从 GWT 项目引用 Eclipse Java 项目

mysql - 无法连接到 Windows 上 X.X.X.X 上的 mysql 服务器

python - 无法写入 y/n 来继续在 kaggle 中安装库

java - 如何关闭扫描仪?

java - 计算三角晶体

c - 使用 pdcurses 显示重音字符