Skillshub java-tooling

Standards for Maven, Gradle, and static analysis in 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)

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/java-tooling" ~/.claude/skills/comeonoliver-skillshub-java-tooling && rm -rf "$T"
manifest: skills/HoangNguyen0403/agent-skills-standard/java-tooling/SKILL.md
source content

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