java-maven-gradle

java-maven-gradle

Master Maven and Gradle - build configuration, dependencies, plugins, CI/CD

4звезд
0форков
Обновлено 1/24/2026
SKILL.md
readonlyread-only
name
java-maven-gradle
description

Project structure type

version
"3.0.0"

Java Maven Gradle Skill

Master Java build tools for efficient project management and CI/CD integration.

Overview

This skill covers Maven and Gradle configuration including dependency management, plugin setup, multi-module projects, and CI/CD pipeline integration. Follows 2024-2025 best practices for both tools.

When to Use This Skill

Use when you need to:

  • Set up Maven/Gradle projects
  • Manage dependencies with BOMs
  • Configure build plugins
  • Optimize build performance
  • Set up CI/CD pipelines

Topics Covered

Maven

  • POM structure and inheritance
  • Dependency management with BOMs
  • Plugin configuration
  • Profiles and properties
  • Multi-module projects

Gradle

  • Kotlin DSL (build.gradle.kts)
  • Dependency catalogs
  • Task configuration
  • Build cache optimization
  • Composite builds

CI/CD Integration

  • GitHub Actions workflows
  • Dependency caching
  • Matrix builds
  • Artifact publishing

Quick Reference

Maven POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <properties>
        <java.version>21</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <spring-boot.version>3.2.1</spring-boot.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.4.1</version>
            </plugin>
        </plugins>
    </build>
</project>

Gradle Kotlin DSL

// build.gradle.kts
plugins {
    java
    id("org.springframework.boot") version "3.2.1"
    id("io.spring.dependency-management") version "1.1.4"
}

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

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.test {
    useJUnitPlatform()
    maxParallelForks = Runtime.getRuntime().availableProcessors() / 2
}

Version Catalog (libs.versions.toml)

[versions]
spring-boot = "3.2.1"
junit = "5.10.1"

[libraries]
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-boot" }
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }

[plugins]
spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" }

CI/CD Templates

# .github/workflows/ci.yml
name: CI
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          java-version: '21'
          distribution: 'temurin'
          cache: 'maven'  # or 'gradle'
      - run: ./mvnw -B verify

Useful Commands

# Maven
mvn dependency:tree
mvn versions:display-dependency-updates
mvn help:effective-pom

# Gradle
gradle dependencies
gradle dependencyInsight --dependency log4j
gradle build --scan

Troubleshooting

Common Issues

Problem Cause Solution
Dependency not found Wrong version Check Maven Central
Version conflict Transitive deps Use BOM or enforcer
Build OOM Heap too small Set MAVEN_OPTS
Slow builds No caching Enable build cache

Debug Checklist

□ Check effective POM/build
□ Analyze dependency tree
□ Verify repository order
□ Check plugin versions
□ Review build cache

Usage

Skill("java-maven-gradle")

Related Skills

  • java-maven - Maven specific
  • java-gradle - Gradle specific

You Might Also Like

Related Skills

verify

verify

243K

Use when you want to validate changes before committing, or when you need to check all React contribution requirements.

test

test

243K

Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.

Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.

Use when adding new error messages to React, or seeing "unknown error code" warnings.

flow

flow

243K

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

flags

flags

243K

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.