工具链
Maven 与 Gradle
- Maven:约定优于配置,
pom.xml声明坐标、依赖、插件生命周期。 - Gradle:灵活 DSL(Kotlin/Groovy),适合多模块与增量构建。
二者均管理依赖解析、测试与打包;团队择一并统一插件版本(BOM 如 Spring dependency management)。
jdeps
分析类文件依赖与模块边界,迁移 JPMS 或排查意外依赖时有用。
静态分析
SpotBugs、Error Prone、Checkstyle、PMD 等互补:缺陷模式、API 误用、风格。在 CI 设质量门禁,避免本地与流水线规则漂移。
容器与 CI
镜像内固定 JDK 补丁版本;构建缓存(依赖目录)加速。JAVA_TOOL_OPTIONS 等环境变量影响子进程,部署时注意继承范围。