一、项目介绍
Jargus 百目 是一个开箱即用的 Java 代码质量评审平台。正如其名“百目所视,无所遁形”,它的目标是用一个 JAR / 一个容器,把「扫描 → 评分 → 门禁 → 报告 → CI 阻断 → 邮件推送」的完整闭环塞进你的内网环境里。
它解决什么问题
团队开发中,代码质量管控长期面临几个现实困境:
- 代码评审工具部署太重:独立服务器 + 数据库 + 专人运维,社区版功能受限,中文支持差;
- PMD / SpotBugs / Checkstyle 只是“问题清单” :无评分、无门禁、无可视化报告与治理机制;
- AI 编码助手各自为战:模型无法统一管理,也不与静态分析结果打通;
- 国内环境额外诉求:内网隔离、信创数据库、国产大模型、中文汇报材料。
Jargus 据此以一个 JAR / 一个容器 交付完整闭环,内嵌 H2 开箱即用,完全离线运行。
二、优势与特点**1. 单 JAR / 单容器交付,内嵌数据库零外部依赖**
JAR 约 86 MB,内含 17 种数据库驱动与中文字体,仅需 JRE 17+ 即可运行。首次启动自动初始化 data / work / logs 三个目录,内嵌 H2 建表,不需要额外安装数据库或配置连接。Docker 镜像同样单容器交付,内置 Noto CJK / 文泉驿中文字体、非 root 运行、HEALTHCHECK、优雅停机。
2. 完全离线运行,适配内网与信创环境
全功能离线可用,AI 语义评审为可选增强,不联网也能完成从扫描到报告的全流程。支持达梦、人大金仓、openGauss、瀚高、海量、崖山等信创数据库驱动随包内置,共支持 18 类数据库。
3. 六大质量域 · 19 个内置检查器
基于 JavaParser AST + 符号求解与 ASM 字节码分析,本地引擎完全离线。覆盖:
[td]
| 质量域 | 典型检查项 |
|---|---|
| 缺陷检测 | 空指针引用链路追踪、资源泄露、空 catch 吞异常 |
| 安全扫描 | SQL 注入、命令注入、路径穿越、不安全反序列化、XXE、SSRF、硬编码密钥、弱加密算法 |
| 架构约束 | 跨层直连 DAO、反向依赖、实体泄漏出接口边界 |
| 并发风险 | 单例 Bean 共享可变状态、静态 SimpleDateFormat 线程不安全、双重检查锁缺 volatile |
| 风格与冗余 | 命名规范、魔法数字、超长行 / 方法、TODO 残留、CPD 式重复代码检测 |
| 依赖漏洞 | 解析 pom.xml / build.gradle 依赖树,内置 CVE 漏洞库离线比对 |
4. SonarQube 式五级评分与质量门禁
BLOCKER / CRITICAL / MAJOR / MINOR / INFO 五级分类,每级扣分权重、通过分数线、评级分界均可页面自定义、保存即时生效。评分公式为 score = 100 − Σ(数量 × 权重),门禁条件为 BLOCKER ≤ 限额 且 score ≥ 80。还附带技术债估算(如“8 小时 55 分”),让修复排期有据可依。
5. AI 深度评审(可选)
OpenAI 兼容 / Anthropic 双协议适配层,内置 12 个厂商模板(百炼 / 方舟 / DeepSeek / Kimi / 智谱 / 千帆 / Gemini / Claude / Ollama 等),API Key AES 加密。单条问题支持「AI 增强建议」(问题分析 / 修复方案 / 修复代码),支持批量深度评审与实时进度。
6. 报告与邮件推送
HTML / PDF 中文报告一键导出(内嵌中文字体),多 SMTP 发件配置(SSL / STARTTLS、测试发信、授权码 AES 加密)与收件人管理。扫描或 CI 触发器勾选「邮件通知」后,扫描完成自动推送 HTML 摘要正文 + PDF 报告附件,失败也发通知,送达状态在扫描历史可见。
7. CI/CD 集成
Webhook 触发扫描(按平台约定校验 HMAC 签名),完成后自动回写 commit status 与 MR/PR 评论,流水线按门禁结论阻断合并。支持 GitHub / GitLab / Gitee / 自建平台,支持私有仓库凭据。
8. 原生中文 · MIT 开源可商用
界面、规则、报告原生中文,Thymeleaf 服务端渲染,无 Vue / npm 构建链,零 CDN 依赖。MIT 协议开源,可免费商用。
三、技术栈[td]
| 层次 | 选型 |
|---|---|
| 后端 | Spring Boot 3.2.5 · Java 17 · MyBatis-Plus 3.5.5 · H2 内嵌 + 17 种驱动内置 · 动态多数据源 |
| 静态分析 | JavaParser 3.25(AST + 符号求解)· ASM 9.6 · 自研 CPD 式重复代码指纹 |
| AI 接入 | OpenAI 兼容 / Anthropic 双协议适配层 |
| 报告与邮件 | OpenPDF(矢量中文 PDF)· Thymeleaf HTML 报告 · Spring Mail |
| 安全 | JWT · BCrypt · AES 配置加密 · OAuth2 远端认证 |
| 前端 | Thymeleaf SSR · 原生 JavaScript · 零 CDN |
| 部署 | 单 JAR · Docker 多阶段(内置中文字体、非 root、HEALTHCHECK) |
五、源码获取
- GitHub:
- Gitee:
- 官网:
当前最新版本 v2.0.3(2026-09-27 发布),MIT 开源可商用。
六、部署文档
完整部署指南:
三种部署方式任选其一:
方式一:单 JAR 直跑(推荐首试)
java -jar jargus-2.0.3.jar
启动后浏览器打开 admin / 123456(管理员)、view / 123456(只读),登录后立即修改密码。生产环境需覆盖 JWT 密钥与 AES 密钥。
部署视频教程
B站视频演示:
七、最后
Jargus 的定位很明确:适合内网离线、信创环境、希望以最小运维成本获得代码质量全闭环的团队。它不追求成为“大而全”的多语言平台,而是聚焦 Java 生态,把单 JAR 离线交付 + 内网全闭环这件事做到极致。不同产品定位不同,用户可按需选择。