# easy_maven_deploys **Repository Path**: blackg/easy_maven_deploys ## Basic Information - **Project Name**: easy_maven_deploys - **Description**: maven依赖发布脚本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-19 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## MAVEN依赖包部署脚本 (deploys.sh) 这是一个自动化部署脚本,用于将编译好的 Java 项目(JAR 文件及相关 POM 文件)批量部署到指定的 Maven 仓库。 ### 功能特性 - 支持多种操作系统:Linux、macOS、Windows (Cygwin/MINGW) - 自动检测并验证 Maven 环境 - 批量部署目录中的所有 JAR 包及对应的 POM 文件 - 部署没有关联 JAR 的独立 POM 文件 - 路径自动适配不同平台(包括 Windows 路径转换) - 提供详细的错误提示与调试建议 - 支持自定义 Maven settings.xml 配置文件 ### 使用方法 ```bash ./deploys.sh <目录路径> <仓库ID> <仓库URL> <打包类型> [settings.xml路径] ``` #### 参数说明 | 参数 | 必填 | 描述 | |------------------|------|------| | `<目录路径>` | 是 | 包含待部署构件的本地目录路径 | | `<仓库ID>` | 是 | Maven settings.xml 中配置的 repository ID | | `<仓库URL>` | 是 | 目标 Maven 仓库地址 | | `<打包类型>` | 是 | 构件打包类型(如 jar) | | `[settings.xml路径]` | 否 | 自定义 Maven settings.xml 文件路径 | #### 示例 ```bash # 基本用法 ./deploys.sh ./repository my-repo http://repo.example.com/releases jar # 使用自定义 settings.xml ./deploys.sh ./repository my-repo http://repo.example.com/releases jar /path/to/settings.xml ``` ### 工作原理 1. **环境检查**:验证输入参数、目标目录存在性和 Maven 安装状态 2. **系统识别**:自动识别当前运行的操作系统类型 3. **JAR 文件处理**: - 查找指定目录下的所有 `.jar` 文件 - 寻找每个 JAR 对应的 `.pom` 文件 - 解析 POM 获取 groupId、artifactId 和 version 信息 - 调用 `mvn deploy:deploy-file` 进行部署 4. **独立 POM 处理**: - 查找无对应 JAR 文件的独立 `.pom` 文件 - 以 pom 类型进行部署 5. **报告汇总**:显示部署统计信息和错误详情 ### 注意事项 - 确保已正确配置 Maven 并能访问目标仓库 - 脚本会创建临时工作目录用于避免文件锁定问题 - 部署过程中出现错误会在最后统一汇总显示 - 在 Windows 系统上推荐使用 Git Bash 或 Cygwin 运行此脚本