LoginSignup
3
1

More than 5 years have passed since last update.

m2eでプロジェクトインポートすると出るエラー "Plugin execution not covered by lifecycle configuration"

Posted at

標準には存在しないm2eにとっては未知のgoalを持ったプラグインを定義しているとエラーとなる。
解決するには二通りの方法がある。

1. 手っ取り早い方法

MaveのErrors/Warnignsの設定でignoreにしてしまう。

スクリーンショット 2016-12-09 19.56.03.png

2. めんどくさいけど個別にエラー/正常を分ける方法

MavenのLifecycle Mappingsに割り当てられている定義ファイルに記述すれば良い。といってもデフォルトでは存在しないファイルでしかも開いているワークスペースのメタデータ内のパスになっている。わかりやすい場所に変えておいた方が良いと思う。

スクリーンショット 2016-12-09 20.35.26.png

何にせよ [Open workspace lifecycle mappings metadata] で新規のXMLファイルが開くので、以下のように記述をする。

lifecycle-mapping-metadata.xml
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>unpack-dependencies</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>

この例ではdependency-pluginのunpack-dependenciesを無視する定義としている。
ignore以外ではm2eにプロジェクトをインクリメンタルビルドさせるexecutionも書けるらしいが使う良い例が浮かばなかったので割愛する。

マッピングファイルを更新したら、[Reload workspace lifecycle mappings metadata]で読み込みを実行しておく。

おわったらやること

いずれの方法も対応してすぐには反映されない。エラーの出ているプロジェクトを選択してコンテキストメニューを出し、[Update Project...]を行う必要がある。
スクリーンショット 2016-12-09 20.46.50.png

参照
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1