java - 从java程序运行git命令的问题

标签 java git

我正在尝试使用

通过 java 程序运行 git 命令
Runtime.getRuntime().exec(commandToBeExecuted);

and commandToBeExecuted ="git log" ;

我已经设置了环境变量,但仍然收到如下错误:

java.io.IOException: Cannot run program "git": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    at java.lang.Runtime.exec(Runtime.java:615)
    at java.lang.Runtime.exec(Runtime.java:448)
    at java.lang.Runtime.exec(Runtime.java:345)
    at GITCodeCoverage.createLog(GITCodeCoverage.java:40)
    at GITCodeCoverage.main(GITCodeCoverage.java:17)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:188)
    at java.lang.ProcessImpl.start(ProcessImpl.java:132)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
    ... 5 more

任何人都可以帮助我在 Windows 系统上成功运行此命令。

提前致谢!

最佳答案

尝试使用这个重载的Runtime.exec(String command, String[] envp, File dir),例如:-

File gitPath = new File("path where git is located in your system");
Runtime.exec('git logs', null, gitPath);

关于java - 从java程序运行git命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137735/

相关文章:

java - HDFS 是否在请求的路径上创建所有目录?

Java 虚拟内存大小大于请求(或要求)

java - 从具有结束值和非结束值的字符串中查找数字

git - TeamCity:如何将未版本化的配置文件放入 checkout 的存储库中?

git - 我可以在 TortoiseGit 中使用(双点)范围符号进行修订吗?

java - Firebase 实时数据库 - 存储用户输入的多个节点

java - 抽屉导航不使用 R.drawable.ic_drawer 或滑动关闭

git - 如何在 Git Extensions 中为每个 repo 设置默认用户?

git - 如何使用SSH隧道转发git协议(protocol)?

git - Sourcetree/git 不显示关闭的远程分支