快速开始

三种部署方式任选其一,最快 1 分钟看到第一个扫描结果。全部离线运行,不注册、不联网激活

下载最新版本

JAR 约 86 MB,内含 17 种数据库驱动与中文字体,仅需 JRE 17+。

21 分钟视频跟着走一遍

不想读文档就跟着视频走一遍,从下载 JAR 到跑通第一个评审 · 约 21 分钟 在 B 站观看 ↗

哔哩哔哩 · BV1aMav6iEgd bilibili.com ↗
JArgus 视频教程海报:一个 JAR 跑通 Java 代码评审全闭环
这支约 21 分钟的完整演示,和下面文字是同一套流程。 第一次用建议先看视频跟着点一遍;想查具体命令、参数说明,往下翻文字章节。 遇到没讲到的问题,欢迎到 Issue 反馈。

方式一:单 JAR 直跑(推荐首试)

只需要 JRE 17+。首次启动自动初始化 data/ work/ logs/ 三个目录,内嵌 H2 建表

1. 启动

terminal
java -jar jargus.jar

启动完成后浏览器打开 http://localhost:8080。

2. 登录默认账号

账号密码角色
admin123456管理员(全部功能)
view123456只读(查看报告)

登录后立即修改密码。生产环境还必须覆盖 JWT 密钥与 AES 密钥(下一步),内置的是占位值。

3. 生产参数覆盖

terminal
# 换端口
java -jar jargus.jar --server.port=9090

# 生产必须:覆盖 JWT 签名密钥与配置加密密钥(16 字符)
java -jar jargus.jar \
  --app.jwt-secret=<新JWT密钥> \
  --app.crypto-key=<新AES密钥>

4. 升级(一键更新)

系统信息页检测到新版本时,版本卡片右侧会出现 「一键更新」 按钮。点击后:自动从 Gitee(失败兜底 GitHub)下载最新 jargus.jar、校验版本、备份当前 jar 为 jargus.jar.bak、脱离进程替换并原命令重启,页面稍后自动刷新——全程无需手动下载改名。

仅支持 java -jar 的 Linux / macOS 部署;IDE 内调试、Windows 或 JAR 目录不可写时按钮会明确报错、不做任何改动。需要临时关闭可设置 --app.update.enabled=false;附加自定义启动参数用 --app.update.extra-args="--server.port=9090"。

方式二:Docker 部署(推荐生产)

镜像内置 Noto CJK / 文泉驿中文字体、非 root 运行、HEALTHCHECK、优雅停机

1. Docker Compose 一键起

terminal
# 在仓库根目录(先按 .env.example 复制出 .env,改好密钥)
docker compose up -d --build

2. 或者手动构建镜像

terminal
# 标准构建;国内网络用 docker-build-cn.sh
./scripts/docker-build.sh 2.0.7
./scripts/docker-build-cn.sh 2.0.7

docker run -d --name jargus \
  -p 8080:8080 \
  -v jargus-data:/app/data -v jargus-work:/app/work \
  -v jargus-logs:/app/logs -v jargus-lib:/app/lib \
  -e APP_JWT_SECRET=<新JWT密钥> \
  -e APP_CRYPTO_KEY=<新AES密钥,16字符> \
  --restart unless-stopped \
  jargus:2.0.7

3. 健康检查

terminal
curl http://localhost:8080/actuator/health
# → {"status":"UP"}

四个持久化卷别省:/app/data(元数据库)、/app/work(扫描工作区与报告)、/app/logs(日志)、/app/lib(上传的自定义 JDBC 驱动)。

方式三:源码构建

环境要求:JDK 17+ 与 Maven 3.9+(Docker 方式要求 Docker 20.10+ / Compose v2)

打包运行

terminal
git clone https://gitee.com/super_rgh/jargus.git   # 或 github.com/vfaner/jargus
cd jargus
mvn package -DskipTests
java -jar target/jargus.jar

注意源码构建产物名不带版本号(jargus.jar),与 Releases 资产名不同。

开发模式热跑

terminal
mvn spring-boot:run

前端是 Thymeleaf SSR + 原生 JS,改页面模板不需要 npm / Node 构建链。

环境变量与持久化

所有配置都支持环境变量 / 启动参数 / .env 三种注入方式

变量默认值说明
SPRING_PROFILES_ACTIVEprod运行 profile
APP_AUTH_ENABLEDtrue是否开启登录认证(关掉仅建议内网演示)
APP_JWT_SECRET内置占位值生产必须修改:JWT 签名密钥
APP_JWT_EXPIRE_HOURS24登录态有效小时数
APP_CRYPTO_KEY内置占位值生产必须修改:敏感配置 AES 加密密钥(16 字符)
APP_TRUSTED_PROXIES127.0.0.1,::1受信代理地址(IP / CIDR),统一认证网关头模式需加入网关出口地址
APP_SSO_RESET_LOCAL_LOGINfalse破窗开关:置 true 启动一次即恢复本地登录,修好 SSO 配置后去掉
APP_WORK_DIR/app/work扫描工作区(解压、克隆、报告产物)
APP_DRIVER_DIR/app/lib/custom页面上传的自定义 JDBC 驱动存放目录
DATASOURCE_URL容器内 H2 文件库元数据库连接串,切外接库时覆盖
TZAsia/Shanghai容器时区

部署完成后 · 5 步跑通第一个评审

从登录到 CI 阻断,完整闭环大约 10 分钟

① 登录并修改默认密码

admin / 123456 登录后,先在「系统设置」里改掉 admin 与 view 的密码,并按上文覆盖 JWT / AES 密钥。

② 发起第一个扫描任务

「新建扫描」页上传项目 ZIP、直接粘贴代码,或填 Git 仓库地址克隆(私有仓库支持凭据);系统自动检测 JDK / 构建工具 / 框架。可顺手勾选「邮件通知」,扫描完成自动推送报告(需先在「邮件管理」配置发件邮箱与收件人)。

③ 查看评分与问题清单

扫描完成后进入结果页:评分环、五级问题统计、按质量域分类汇总;点进单条问题看代码上下文与修复建议。

④ 按团队口味调规则与门禁

「检查器配置」启停检查器、「评审规则」调默认等级、「质量门禁」改通过线与扣分权重 —— 保存即时生效,无需重启。

⑤ 接入 CI/CD(可选)

「CI/CD 集成」页创建 Webhook 触发器与访问令牌,流水线推送代码即自动扫描,commit status 回写 + MR/PR 评论,门禁不过可阻断合并:

ci-trigger.sh
curl -X POST "http://<host>:8080/webhook/<触发器ID>" \
  -H "X-CI-Token: <CI 访问令牌>"