No description
  • Java 58.7%
  • TypeScript 20.2%
  • Shell 7.8%
  • PowerShell 7.4%
  • Python 5.2%
  • Other 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
pegas ab7fd7d68f fix(build): 修复依赖漏洞并让 CVE 门禁真实生效
- springdoc 3.1.1 -> 3.2.0(swagger-ui 5.32.14 -> 5.34.0,消除 CVE-2026-109344/109345)

- MySQL 驱动迁移到 com.mysql:mysql-connector-j:26.10.0(消除 CVE-2023-22102 及 protobuf-java 3.11.4 的 3 个 CVE)

- Oracle 驱动迁移到官方 com.oracle.database.jdbc:ojdbc11:23.26.3.0.0(原 com.github.noraui 为重打包)

- SQL Server 驱动迁移到 com.microsoft.sqlserver:mssql-jdbc:13.6.1.jre11

- commons-exec 1.2 -> 1.6.0、gson 2.9.0 -> 2.15.0、guava 33.0.0-jre -> 33.7.2-jre

- dependency-check 由 aggregate 改为逐模块 check:原配置在父工程 verify 阶段执行时无子模块制品,报告恒为 0 个依赖,CVE 门禁静默放行

- README 同步更新 OWASP 检测说明

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-27 18:03:41 +08:00
.vscode chore: 从 piccolo 回流通用修复与构建改进 2026-10-27 10:21:51 +08:00
adam-common chore: 从 piccolo 回流通用修复与构建改进 2026-10-27 10:21:51 +08:00
adam-core chore: 从 piccolo 回流通用修复与构建改进 2026-10-27 10:21:51 +08:00
adam-data chore: 从 piccolo 回流通用修复与构建改进 2026-10-27 10:21:51 +08:00
adam-service refactor(service): 拆分 adam-app 与 adam-example 并对齐 piccolo 分层风格 2026-10-27 10:34:10 +08:00
adam-ui 1st add 2026-10-27 09:56:01 +08:00
docs chore(build): CVE 扫描改用 NVD API Key 在线更新 2026-10-27 16:17:21 +08:00
scripts/dependency-check 1st add 2026-10-27 09:56:01 +08:00
.editorconfig 1st add 2026-10-27 09:56:01 +08:00
.gitattributes 1st add 2026-10-27 09:56:01 +08:00
.gitignore refactor(service): 拆分 adam-app 与 adam-example 并对齐 piccolo 分层风格 2026-10-27 10:34:10 +08:00
AGENTS.md chore: update AGENTS.md and README.md 2026-10-27 16:26:54 +08:00
ci_settings.xml 1st add 2026-10-27 09:56:01 +08:00
eve.py 1st add 2026-10-27 09:56:01 +08:00
logo.png 1st add 2026-10-27 09:56:01 +08:00
pom.xml fix(build): 修复依赖漏洞并让 CVE 门禁真实生效 2026-10-27 18:03:41 +08:00
README.md fix(build): 修复依赖漏洞并让 CVE 门禁真实生效 2026-10-27 18:03:41 +08:00

logo

介绍下你的项目

项目基于 Java 21 和 Spring Boot 4.1.1。

后端模块结构
adam-common/                        通用能力:日志切面、统一响应、全局异常、OS 工具
adam-data/adam-model/               实体基类与分页对象
adam-core/adam-jpa-wrapper/         多数据源 + JPA 自动装配
adam-core/adam-jpa-demo/            JPA 示例:实体、Repository、接口投影
adam-core/adam-resource-server2/    OAuth2 资源服务器
adam-service/adam-example/
  adam-example-api/                 接口与 request / view 记录
  adam-example-v1/                  接口的 v1 实现
  adam-example-rest/                REST 适配层、模块默认配置与 API 测试
adam-service/adam-app/              可执行应用,产出 adam-app-1.0-SNAPSHOT.jar

新增业务模块时照 adam-example 复制,分层约定:

  • -api:只放接口、request / view 记录与校验注解;不出现实体、Repository、RestResponse。
  • -v1:实现接口;实体与 Repository 只在本模块使用,事务边界在这一层。
  • -rest:只做协议适配(参数绑定、RestResponse 包装、OpenAPI 注解),持有该模块的默认 application.yml 与 API 测试。
  • adam-app:@SpringBootApplication 入口,只依赖各 *-rest 模块,不写业务代码。
  • REST 只用 GET / POST,路径统一 /api/v1/<资源复数>;写操作用 POST,删除用 /{id}/delete。
# 编译并运行全部测试
mvn -s .\ci_settings.xml "-Ddependency-check.skip=true" test

# 完整打包
mvn -s .\ci_settings.xml verify
# swagger本地地址
http://127.0.0.1:8080/swagger-ui/index.html
# JSON 地址
http://127.0.0.1:8080/v3/api-docs/

开发注意事项
  • 按照功能(JIRA号)拉分支,分支名字是JIRA号
  • 开发工具[安装阿里的编码规范插件], 代码提交之前要保证没有检测出问题
  • 合并代码之前要做git rebase, 不要产生有两个parent的merge commit
  • 提交代码之前要运行测试,保证代码能在 JDK 21 环境下运行
OWASP 依赖漏洞检测

项目使用 OWASP Dependency-Check 逐模块检测所有 Maven 模块的直接依赖和传递依赖,报告输出到各模块的 target/dependency-check-report.{html,json,sarif}。 默认不执行扫描,日常构建不会联网,需要时显式开启(任何模块出现 CVSS ≥ 7 的漏洞会直接导致构建失败):

$env:NVD_API_KEY = "<your-nvd-api-key>"
mvn verify -s .\ci_settings.xml -Ddependency-check.skip=false