인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
배포 및 운영 · SKILL.md

java-tooling

java-tooling

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.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

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. metadata: triggers: files: - 'pom.xml' - 'build.gradle' - 'build.gradle.kts' - '.sdkmanrc' keywords: - mvnw - gradlew - spotbugs - checkstyle - spotless - eclipse-temurin

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

저장한 Skills