界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
部署与运维 · SKILL.md

java-tooling

java-tooling

【部署与运维】Configure Maven, Gradle, and static analysis for Java projects. Use for Java-only build and quality tooling such as Spotless, Checkstyle, SpotBugs, SonarLint, JDK versions, and Java service Dockerfiles; defer Kotlin, Android, Flutter, and GitHub Actions-specific configuration.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: java-tooling description: Configure Maven, Gradle, and static analysis for Java projects. Use for Java-only build and quality tooling such as Spotless, Checkstyle, SpotBugs, SonarLint, JDK versions, and Java service Dockerfiles; defer Kotlin, Android, Flutter, and GitHub Actions-specific configuration. metadata: triggers: files: - 'pom.xml' - 'build.gradle' - 'build.gradle.kts' - '.sdkmanrc' keywords: - mvnw - gradlew - spotbugs - checkstyle - spotless - eclipse-temurin

Java Tooling Standards

Priority: P2 (MEDIUM)

Implementation Guidelines

  • JDK Setup: Use .sdkmanrc or .java-version to lock project to LTS Support (17 or 21). Configure Gradle toolchain via java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } for reproducible builds.
  • Maven & Wrapper: Use pom.xml with <dependencyManagement>. ALWAYS use mvnw wrapper.
  • Gradle & Catalog: Prefer build.gradle.kts (Kotlin DSL) with libs.versions.toml (Version Catalog). Use gradlew wrapper.
  • Formatting: Enforce Google Style Guide using Spotless (googleJavaFormat() plugin) or Checkstyle.
  • Static Analysis: Integrate SpotBugs or SonarLint for deep analysis. Use Detekt if using Kotlin.
  • Docker: Use Multi-stage Dockerfiles. Use eclipse-temurin as base image.
  • CI/CD: Configure GitHub Actions or GitLab CI to run mvnw test or gradlew build on every PR.

Anti-Patterns

  • No Global Installs: Always use mvnw/gradlew wrappers; never rely on system Maven/Gradle.
  • No Fat Jars: Prefer layered Docker images over uber-jars for better layer caching.
  • No Snapshots in Prod: Never use -SNAPSHOT dependency versions in production builds.

References

我的收藏