| name | java-project-standards |
| description | 阿里巴巴Java开发手册 — 项目工程规约。当用户涉及以下任何场景时触发:
- Maven依赖管理、GAV坐标定义、版本号规范
- 二方库(内部公共库)的设计与发布
- pom.xml配置审查、依赖冲突解决
- JVM参数配置、服务器调优
- 服务器部署、TCP调优、文件句柄数调整
- 用户提到"Maven"、"pom"、"二方库"、"JVM参数"、"依赖管理"等关键词
此技能适用于Java项目的工程化建设、依赖配置审查、部署配置优化。
|
Java 项目工程规约技能
作用
本技能基于《阿里巴巴Java开发手册》的二方库依赖和服务器章节,为Java项目提供工程化规范指导。
涵盖以下规约领域:
| 规约领域 | 说明 |
|---|
| 二方库依赖 | Maven GAV规范、版本号管理、SNAPSHOT禁止、依赖仲裁 |
| 服务器配置 | JVM参数、TCP调优、文件句柄数、OOM处理 |
使用方法
- 依赖审查 — 输入:pom.xml 或 build.gradle 内容;执行:读取
references/dependency-rules.md 后逐项检查 GAV 规范、版本号、SNAPSHOT、依赖仲裁;输出:按【强制】【推荐】【参考】分级的问题清单 + 修复配置
- 部署优化 — 输入:当前 JVM 参数和服务器配置(CPU/内存/磁盘);执行:读取
references/server-config.md 后对照环境规格分析;输出:调优建议 + 参数配置示例
- 库设计 — 输入:二方库的设计方案或现有库的 GAV 配置;执行:引用依赖规约和版本管理原则;输出:设计建议 + 发布规范 + 版本号示例
工程审查检查点
执行工程规约审查时,以下场景需先向用户确认,再执行后续操作:
| 场景 | 检查内容 |
|---|
| 修改 pom.xml / 配置文件 | 任何配置修改建议输出前,确认用户是否采纳并提醒备份原配置 |
| 调整 JVM / 服务器参数 | 涉及生产环境的参数变更,先确认当前环境配置和业务范围 |
| 建议升级依赖版本 | 提示潜在的兼容性风险和回归测试要求,确认用户接受后再给出具体版本 |
| 用户未提供具体文件 | 提示用户粘贴 pom.xml、JVM 参数或描述具体问题,说明本技能涵盖的审查范围 |
边界条件处理
| 场景 | 处理方式 |
|---|
| 用户未提供文件 | 提示用户粘贴 pom.xml、build.gradle 或 JVM 参数,说明本技能涵盖的审查范围 |
| 依赖版本冲突无法定位 | 建议用户使用 mvn dependency:tree 排查,给出通用版本管理建议 |
| 多模块 Maven 项目 | 确认审查父 pom 还是子模块,建议从父 pom 统一版本管理 |
| 服务器环境不明 | 请求用户提供服务器配置(CPU/内存/磁盘),基于规格给出调优建议 |
| references 文件缺失 | 基于通用工程规约给出建议,提示用户检查 references 目录完整性 |
规约文件索引
所有规约原文存放于 references/ 目录下,按小节拆分,按需读取:
references/
├── dependency-rules.md # 二方库依赖规约(GAV、版本号、SNAPSHOT、依赖仲裁)
└── server-config.md # 服务器配置规约(JVM参数、TCP调优、文件句柄数)
按需读取指引
| 任务类型 | 需要读取的规约文件 |
|---|
| 审查Maven依赖配置 | dependency-rules.md |
| 审查JVM参数/服务器调优 | server-config.md |
| 全面工程规约审查 | 两个文件都读取 |
规约等级说明
原文中的规约分为三个等级:
- 【强制】:必须遵守,违反会导致严重问题
- 【推荐】:建议遵守,不遵守可能影响代码质量
- 【参考】:供参考,根据具体情况决定是否采用
审查输出格式
审查Java项目配置时,按以下结构输出:
- 【强制】违规项 — 必须修复的问题,说明违反的规约编号和内容
- 【推荐】改进项 — 建议改进的配置,说明原因
- 【参考】优化建议 — 可酌情采纳的建议
- 正例参考 — 提供符合规约的配置示例