Agent Skills: Java Tooling Standards

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.

UncategorizedID: hoangnguyen0403/agent-skills-standard/java-tooling

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/java/java-tooling

Skill Files

Browse the full folder contents for java-tooling.

Download Skill

Loading file tree…

skills/java/java-tooling/SKILL.md

Skill Metadata

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.

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