java-maven-gradle について
java-maven-gradle は、Maven と Gradle のビルド、依存関係、CI/CD を扱う Java 開発者向けスキルです。マルチモジュール構成やビルドキャッシュ、GitHub Actions の設定例も含みます。
主な機能
- 01Maven の依存関係とプラグイン設定
- 02Gradle Kotlin DSL とカタログ
- 03マルチモジュールとコンポジットビルド
- 04ビルドキャッシュの最適化
- 05GitHub Actions のパイプライン設定
活用シーン
- 01Maven または Gradle プロジェクトの開始
- 02BOM による依存バージョン管理
- 03依存関係やビルド問題の調査
- 04キャッシュ付き CI/CD パイプラインの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pluginagentmarketplace/ custom-plugin-java --skill java-maven-gradleインストール後、Claude Code で/java-maven-gradleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/config.yamlschema.jsonreferences/GUIDE.mdPATTERNS.mdscripts/validate.py詳細
Java Maven Gradle スキル
Java ビルドツールを習得し、効率的なプロジェクト管理と CI/CD 統合を実現します。
概要
このスキルでは、依存関係管理、プラグイン設定、マルチモジュールプロジェクト、CI/CD パイプラインとの統合を含む Maven と Gradle の設定について説明します。両ツールにおける 2024〜2025 年のベストプラクティスに準拠しています。
このスキルを使用する場面
次のような場合に使用します。
- Maven/Gradle プロジェクトをセットアップする
- BOM を使って依存関係を管理する
- ビルドプラグインを設定する
- ビルドのパフォーマンスを最適化する
- CI/CD パイプラインをセットアップする
対象トピック
Maven
- POM の構造と継承
- BOM を使った依存関係管理
- プラグイン設定
- プロファイルとプロパティ
- マルチモジュールプロジェクト
Gradle
- Kotlin DSL(build.gradle.kts)
- 依存関係カタログ
- タスク設定
- ビルドキャッシュの最適化
- コンポジットビルド
CI/CD 統合
- GitHub Actions のワークフロー
- 依存関係のキャッシュ
- マトリックスビルド
- アーティファクトの公開
クイックリファレンス
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
}
バージョンカタログ(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 テンプレート
# .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
便利なコマンド
# Maven
mvn dependency:tree
mvn versions:display-dependency-updates
mvn help:effective-pom
# Gradle
gradle dependencies
gradle dependencyInsight --dependency log4j
gradle build --scan
トラブルシューティング
よくある問題
| 問題 | 原因 | 解決策 |
|---|---|---|
| 依存関係が見つからない | バージョンが間違っている | Maven Central を確認する |
| バージョンの競合 | 推移的な依存関係 | BOM または enforcer を使用する |
| ビルド時の OOM | ヒープが小さすぎる | MAVEN_OPTS を設定する |
| ビルドが遅い | キャッシュがない | ビルドキャッシュを有効にする |
デバッグチェックリスト
□ Check effective POM/build
□ Analyze dependency tree
□ Verify repository order
□ Check plugin versions
□ Review build cache
使用方法
Skill("java-maven-gradle")
関連スキル
java-maven- Maven 専用java-gradle- Gradle 専用
コメント
Markdown 対応