Agent Skills: Java Tooling Standards

Configure Maven, Gradle, and static analysis for Java projects. Use when setting up Java build tooling, configuring Spotless or Checkstyle, managing JDK versions with sdkman, writing Dockerfiles for Java services, or adding SpotBugs/SonarLint. (triggers: pom.xml, build.gradle, build.gradle.kts, mvnw, gradlew, .sdkmanrc, spotbugs, checkstyle, spotless, eclipse-temurin)

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 when setting up Java build tooling, configuring Spotless or Checkstyle, managing JDK versions with sdkman, writing Dockerfiles for Java services, or adding SpotBugs/SonarLint. (triggers: pom.xml, build.gradle, build.gradle.kts, mvnw, gradlew, .sdkmanrc, spotbugs, checkstyle, spotless, eclipse-temurin)"

Java Tooling Standards

Priority: P2 (RECOMMENDED)

Standardized build and tooling configuration for consistent environments.

Implementation Guidelines

  • JDK Setup: Use .sdkmanrc or .java-version to lock the 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 the mvnw wrapper.
  • Gradle & Catalog: Prefer build.gradle.kts (Kotlin DSL) with libs.versions.toml (Version Catalog). Use the 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 the 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