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.mdsource content
Java Tooling Standards
Priority: P2 (RECOMMENDED)
Standardized build and tooling configuration for consistent environments.
Implementation Guidelines
- JDK Setup: Use
or.sdkmanrc
to lock the project to LTS Support (17 or 21). Configure Gradle toolchain via.java-version
for reproducible builds.java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } - Maven & Wrapper: Use
withpom.xml
. ALWAYS use the<dependencyManagement>
wrapper.mvnw - Gradle & Catalog: Prefer
(Kotlin DSL) withbuild.gradle.kts
(Version Catalog). Use thelibs.versions.toml
wrapper.gradlew - Formatting: Enforce Google Style Guide using
(Spotless
plugin) orgoogleJavaFormat()
.Checkstyle - Static Analysis: Integrate
orSpotBugs
for deep analysis. UseSonarLint
if using Kotlin.Detekt - Docker: Use Multi-stage Dockerfiles. Use
as the base image.eclipse-temurin - CI/CD: Configure GitHub Actions or GitLab CI to run
ormvnw test
on every PR.gradlew build
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.