SJ blog
Eclipse
Z

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

EclipseでMavenプロジェクトを管理する完全ガイド

EclipseにMavenプロジェクトをインポートする方法、pom.xmlの編集、依存関係の解決トラブルまで解説します。

一言結論

EclipseのM2Eプラグインを使えばpom.xmlを保存するだけで依存関係が自動解決されるが、解決できない場合は「Maven > Update Project」で強制更新するのが最初の対処法だ。

M2E プラグインについて

Eclipse には Maven Integration(M2E)プラグインが標準で含まれています。Help > About > Installation Details で確認できます。

新規Mavenプロジェクトの作成

  1. File > New > Maven Project
  2. Create a simple project にチェック
  3. Group Id(例: com.example)と Artifact Id(例: myapp)を入力
  4. Packaging を選択(jar / war / pom
  5. Finish

既存Mavenプロジェクトのインポート

File > Import > Maven > Existing Maven Projects

ルートディレクトリを選択すると、pom.xml を自動検出してプロジェクトを設定します。

pom.xml の基本構造

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>myapp</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- JUnit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.10.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

Eclipse から Maven コマンドを実行する

プロジェクトを右クリック → Run As → Maven ゴールを選択:

ゴール説明
mvn compileソースをコンパイル
mvn testテストを実行
mvn packageJARを作成
mvn installローカルリポジトリにインストール
mvn cleantargetディレクトリを削除

カスタムゴールを実行: Run As > Maven Build... でゴールを直接入力

依存関係のトラブルシューティング

エラー: 依存関係が見つからない

Could not resolve dependencies for project ...

対処:

# ローカルキャッシュをクリアして再ダウンロード
mvn dependency:purge-local-repository

# または Eclipse から:
# プロジェクト右クリック > Maven > Update Project... > Force Update of Snapshots/Releases

エラー: M2E プラグインの実行エラー

pom.xml にエラーマークが付いて Plugin execution not covered by lifecycle configuration が出る場合:

<!-- pom.xml に以下を追加 -->
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>問題のあるプラグインのgroupId</groupId>
                                    <artifactId>問題のあるプラグインのartifactId</artifactId>
                                    <versionRange>[0,)</versionRange>
                                    <goals><goal>実行ゴール</goal></goals>
                                </pluginExecutionFilter>
                                <action><ignore/></action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

プロキシ環境での設定

社内ネットワークなどプロキシが必要な場合、~/.m2/settings.xml に設定:

<settings>
    <proxies>
        <proxy>
            <active>true</active>
            <protocol>http</protocol>
            <host>proxy.example.com</host>
            <port>8080</port>
            <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
        </proxy>
    </proxies>
</settings>

依存関係の階層を確認する

pom.xml を開き、下部の Dependency Hierarchy タブで依存ツリーが確認できます。競合しているバージョンが赤く表示されます。

競合の解決:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.15.0</version>  <!-- バージョンを固定 -->
        </dependency>
    </dependencies>
</dependencyManagement>

まとめ

  • M2E プラグインで Eclipse と Maven がシームレスに連携
  • Update Project を使いこなすと依存関係の問題が解決しやすい
  • Dependency Hierarchy タブでバージョン競合を視覚的に確認できる