> java-tooling

Standards for build tools (Maven/Gradle) and static analysis. Use when configuring Maven/Gradle builds or static analysis tools for Java projects. (triggers: pom.xml, build.gradle, build.gradle.kts, build, dependency, plugin, sdk, lint)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/java-tooling?format=md"
SKILL.mdjava-tooling

Java Tooling Standards

Priority: P2 (RECOMMENDED)

Standardized build and tooling configuration for consistent environments.

Implementation Guidelines

  • JDK Management: Use .sdkmanrc or .java-version to lock JDK versions (Target LTS: 17 or 21).
  • Maven: Use pom.xml with <dependencyManagement> for version control. Use wrapper (mvnw).
  • Gradle: Prefer Kotlin DSL (build.gradle.kts). Use version catalogs (libs.versions.toml). Use wrapper (gradlew).
  • Linter: Use Spotless or Checkstyle (Google Style) to enforce formatting.
  • Static Analysis: Integrate SpotBugs or SonarLint for deeper issue detection.
  • Docker: Use multi-stage builds. Use eclipse-temurin or distroless images.

Anti-Patterns

  • Global Installs: Relying on system Maven/Gradle. Always use wrappers.
  • Fat Jars: Avoid massive uber-jars if possible; prefer layered Docker images for caching.
  • Snapshot Dependencies: Do not rely on -SNAPSHOT versions in production builds.

Code

// build.gradle.kts (Gradle Kotlin DSL)
plugins {
    java
    id("com.diffplug.spotless") version "6.23.3"
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(21))
    }
}

spotless {
    java {
        googleJavaFormat()
    }
}

Related Topics

language | best-practices | testing

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────