)
前言日常工作中经常需要批量、自动拉取 Git 代码仓库手动操作繁琐低效。本文手把手教你用 Java 调用系统 Git 命令实现git clone自动克隆并且完整实现代码编写→Jar打包→带JRE打包EXE最终生成 Windows 可直接双击运行的独立程序电脑无需安装JDK开箱即用。一、项目实现思路Java 通过ProcessBuilder调用 Windows 原生 Git 命令稳定性远超第三方Git依赖包捕获命令执行日志与错误信息方便排查问题IDEA 打包成可执行 Jar 包Launch4j 整合JRE打包为独立 EXE实现免JDK运行运行前置依赖运行程序的电脑需安装 Git 并配置系统环境变量CMD可直接识别git命令二、完整可运行Java代码代码内置目录校验、日志输出、执行结果判断解决文件夹已存在导致的克隆失败问题import java.io.File; import java.io.IOException; import java.io.InputStream; /** * Git自动克隆工具 * 可直接打包为EXE在Windows运行 */ public class GitCloneTool { public static void main(String[] args) { // 【可自行修改】Git仓库地址 本地克隆保存路径 String gitRepoUrl https://gitee.com/xxx/demo.git; String cloneDirPath D:\\GitDownload\\demo; // 初始化目录对象 File targetDir new File(cloneDirPath); // 如果文件夹已存在强制删除旧目录避免克隆失败 if (targetDir.exists()) { System.out.println(检测到目标目录已存在正在删除旧目录...); deleteDir(targetDir); System.out.println(旧目录删除完成); } // 构建git clone命令 ProcessBuilder processBuilder new ProcessBuilder(git, clone, gitRepoUrl, cloneDirPath); // 设置命令执行根目录 processBuilder.directory(new File(D:\\)); try { // 启动系统进程执行命令 Process process processBuilder.start(); // 打印标准输出日志 System.out.println(\n 克隆日志 ); printStream(process.getInputStream()); // 打印错误日志 System.out.println(\n 错误信息 ); printStream(process.getErrorStream()); // 等待执行完成获取执行状态码 int exitCode process.waitFor(); System.out.println(\n 执行结果 ); if (exitCode 0) { System.out.println(✅ Git仓库克隆成功); } else { System.err.println(❌ Git仓库克隆失败错误码 exitCode); } } catch (IOException | InterruptedException e) { System.err.println(程序执行异常 e.getMessage()); e.printStackTrace(); } } /** * 读取并打印命令输出流日志 */ private static void printStream(InputStream inputStream) throws IOException { byte[] buffer new byte[1024]; int len; while ((len inputStream.read(buffer)) ! -1) { System.out.print(new String(buffer, 0, len)); } inputStream.close(); } /** * 递归删除文件夹及内部所有文件 */ private static void deleteDir(File dir) { if (dir.isDirectory()) { File[] files dir.listFiles(); if (files ! null) { for (File file : files) { // 递归删除子文件/子文件夹 deleteDir(file); } } } // 删除当前文件/空文件夹 dir.delete(); } }三、IDEA 打包可执行Jar包详细步骤1. 打开打包配置快捷键CtrlAltShiftS打开Project Structure选择左侧Artifacts2. 新建Jar打包配置点击右上角→JAR→From modules with dependenciesModule选择当前项目模块Main Class选择GitCloneTool程序入口主类其他默认配置不变点击OK3. 执行打包顶部菜单栏选择Build → Build Artifacts → 选中当前项目 → Build打包成功后文件输出路径项目根目录/out/artifacts/项目名_jar/xxx.jar✅ 验证双击Jar文件能弹出控制台并运行程序即为打包成功四、Jar 打包为独立 EXE免安装JDK普通Jar运行需要电脑安装JDK这里使用Launch4j工具整合JRE生成独立EXE任意Windows电脑可直接运行。1. 准备所需文件Launch4j工具免费免安装官网直接下载https://launch4j.sourceforge.io/JRE运行环境从本地JDK安装目录复制jre文件夹与Jar包放在同一目录最终目录结构Git克隆工具/ ├─ git-clone.jar # IDEA打包的可执行Jar └─ jre/ # 本地提取的运行环境2. Launch4j 核心配置打开Launch4j工具仅需配置5个必填项其余默认即可Bin output file选择EXE输出路径命名为Git克隆工具.exeJar选中准备好的git-clone.jar文件Bundled JRE path填写相对路径./jre关键绑定本地运行环境Header type选择Console弹出控制台显示运行日志必备Icon可选可自定义程序图标无需求可留空3. 生成EXE程序点击右上角齿轮图标Wrapper等待编译完成即可得到独立EXE文件。五、最终发布与使用方式发布时需打包完整文件夹缺一不可Git克隆工具.zip ├─ Git克隆工具.exe └─ jre/使用方法解压压缩包直接双击exe运行无需安装Java、无需配置环境。⚠️ 唯一要求运行设备需安装Git并配置系统环境变量。六、常见问题与解决方案1. 提示 git 不是内部或外部命令原因电脑未安装Git或Git未配置系统环境变量解决安装Git并配置PATH环境变量CMD输入git可正常识别即可。2. 克隆失败无日志输出原因目标文件夹已存在、仓库地址错误、网络不通解决代码已内置自动删除旧目录功能检查仓库地址和网络即可。3. EXE体积过大解决精简jre文件夹删除无用字体、文档、冗余dll文件可大幅缩减体积。4. Jar双击无反应原因打包时未指定主类解决重新配置Artifacts手动选择程序入口main主类重新打包。七、总结1. Java 通过ProcessBuilder调用系统Git命令简洁稳定适配所有Windows环境2. 整套流程实现了代码自动化→打包→桌面独立程序摆脱命令行操作3. 最终EXE程序免JDK安装可直接分发使用适合日常自动化拉取代码、批量更新仓库场景。