# Java Project Standards

> 阿里巴巴Java开发手册 — 项目工程规约。当用户涉及以下任何场景时触发： - Maven依赖管理、GAV坐标定义、版本号规范 - 二方库（内部公共库）的设计与发布 - pom.xml配置审查、依赖冲突解决 - JVM参数配置、服务器调优 - 服务器部署、TCP调优、文件句柄数调整 - 用户提到"Maven"、"pom"、"二方库"、"JVM参数"、"依赖管理"等关键词 此技能适用于Java项目的工程化建设、依赖配置审查、部署配置优化。

- Skill: `greenplumwine/java-project-standards` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add greenplumwine/java-project-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/greenplumwine/java-project-standards/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Greenplumwine (https://skillmd.com/u/greenplumwine)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/greenplumwine/java-project-standards

---


# Java 项目工程规约技能

## 作用

本技能基于《阿里巴巴Java开发手册》的二方库依赖和服务器章节，为Java项目提供工程化规范指导。

涵盖以下规约领域：

| 规约领域 | 说明 |
|---------|------|
| 二方库依赖 | Maven GAV规范、版本号管理、SNAPSHOT禁止、依赖仲裁 |
| 服务器配置 | JVM参数、TCP调优、文件句柄数、OOM处理 |

## 使用方法

1. **依赖审查** — 输入：pom.xml 或 build.gradle 内容；执行：读取 `references/dependency-rules.md` 后逐项检查 GAV 规范、版本号、SNAPSHOT、依赖仲裁；输出：按【强制】【推荐】【参考】分级的问题清单 + 修复配置
2. **部署优化** — 输入：当前 JVM 参数和服务器配置（CPU/内存/磁盘）；执行：读取 `references/server-config.md` 后对照环境规格分析；输出：调优建议 + 参数配置示例
3. **库设计** — 输入：二方库的设计方案或现有库的 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项目配置时，按以下结构输出：

1. **【强制】违规项** — 必须修复的问题，说明违反的规约编号和内容
2. **【推荐】改进项** — 建议改进的配置，说明原因
3. **【参考】优化建议** — 可酌情采纳的建议
4. **正例参考** — 提供符合规约的配置示例

