web-dev-qa-db-ja.com

Spring Data Maven Buildsの「ライフサイクル構成でカバーされていないプラグインの実行」を解決する方法

Spring DataとNeo4j を使って作業しています。私は このガイドに従うことを試みることから始めました メインサイトによってリンクされています。特に、私はpom.xmlを "こんにちは、世界!"から切り離しました。サンプルファイル 。これは問題を引き起こしているプラ​​グインのための私のpom.xmlからの断片です...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN Eclipse SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

私が見ているエラーは:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

私はEclipse 3.6.2とm2e 0.13を使っています。私はMavenのエキスパートではないので、可能であればあなたの答えに非常に説明的であるようにしてください。

私は m2e 1.0.0 via このアップデートサイト を試してみましたが、それでも同じエラーになります。

835
Andrew White

私の似たような問題では、Andrewの提案を使って修正するのではなく、問題のpom.xmlに <pluginManagement> タグを追加した後で問題は解決しました。このエラーは、<pluginManagement>タグが欠落していることが原因のようです。そのため、Eclipseでの例外を回避するには、すべてのプラグインタグを <pluginManagement> タグで単純に囲む必要があります。

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

この構造が整ったら、エラーは消えます。

1216

なんてめちゃくちゃだ。私がこれを見つけた場所を覚えていませんが、M2Eclipseを幸せにするためには以下を追加しなければなりませんでした。さらに悲しいことに、このタグが必要な理由を理解するのは正確ではないということです。

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.Eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

M2Eclipseプラグインには、Spring Dataでは機能しないという問題が他にもいくつかありました。結局私は Apache Eclipseプラグイン を支持してM2Eclipseを無効にしました。

401
Andrew White

Eclipse m2eドキュメンテーションからの提案された解決策

  1. pom.xml 内のエラーに対して quick-fix を使用してPermanently mark goal run in pom.xml as ignored in Eclipse buildを選択します。これで必要な定型コードが生成されます。

  2. ビルド中にプラグインを実行するようEclipseに指示するには - 生成された設定で<ignore/>タグを<execute/>タグに置き換えるだけです。

    <action>
        <execute/>
    </action>
    

    あるいは、インクリメンタルビルドでもプラグインを実行するようにEclipseに指示することができます。

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    
200
Vedran

Eclipse Luna 4.4.0では、設定でこのエラーを無視することを選択できます

ウィンドウ > 設定 > Maven > エラー/警告 > プラグインの実行がライフサイクル設定でカバーされていない 。必要に応じて 無視/警告/エラー を選択します。

また、このエラーのクイックフィックス(Ctrl + 1)では、Eclipseの設定でEclipseのビルド設定で無視されるようにゴールをマークするオプションが与えられます(実験的)

これはあなたのpom.xmlを変更しないので、もっときれいな方法です。

他のプロジェクトでも同じエラーを修正するには Maven > Update project を実行する必要があります。


STS(Spring-tool-suite)では、設定でこのエラーを無視することを選択できます

「ウィンドウ」>「設定」>「Maven」>「エラー/警告」>「プラグインの実行」がライフサイクル構成でカバーされていません。ご希望に応じて、無視/警告/エラーを選択してください。それでは。プロジェクトを右クリックしてMavenをクリックしてプロジェクトを更新するとエラーが消えます。

190
ShaKa

https://www.Eclipse.org/m2e/documentation/m2e-execution-not-covered.html を参照してください。

いくつかの長年の問題を解決するために、m2e 1.0はプロジェクトビルドライフサイクルの「おもしろい」フェーズに束縛されたすべてのMavenプラグインをどうするべきか明確な指示を必要とします。これらの命令は「m2eがプロジェクトpom.xmlファイルからEclipseワークスペースプロジェクト構成およびEclipseワークスペースビルド中の動作へのマッピング方法を定義するため、「プロジェクトビルドライフサイクルマッピング」または単に「ライフサイクルマッピング」と呼ばれます。

プロジェクトビルドライフサイクルマッピング設定は、Eclipseプラグインによって提供されたpom.xmlプロジェクトで指定できます。また、m2eに同梱されている一般的に使用されるMavenプラグインのデフォルト設定もあります。これらを「ライフサイクルマッピングメタデータソース」と呼びます。どのマッピングメタデータソースにもライフサイクルマッピングがないすべてのプラグインの実行に対して、m2eは以下のようなエラーマーカーを作成します。

Plugin execution not covered by lifecycle configuration:
org.Apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

m2eは、プラグインのgroupId、artifactId、バージョン範囲、および目的の組み合わせを使用して、プラグインの実行をアクションに一致させます。 m2eにプラグインの実行を指示することができる3つの基本的な動作があります - 無視 実行 、そしてプロジェクトに委任する コンフィギュレータ

109
Thomas Broyer

m2e 0.13は m2eコネクタ および m2e Market Place を導入してm2eの機能を拡張します。これは古いm2e-extrasリポジトリのようなものです。

あなたは好みからm2e市場にアクセスすることができます: 好み> Maven>発見>カタログを開く 。インストール - WTP統合 私のためにほとんどのプラグインの問題を解決しました。

29
noirbizarre

今日のEclipse Neonリリーストレインで入手可能なM2Eclipse(m2e)バージョン1.7.0は、ライフサイクルマッピングメタデータを指定するための新しい構文をサポートしています。その結果、このような定型文が得られます(ここでは、m2eに目標を無視するように指示しています)。

<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.Eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

プラグインの実行ノードでは1行に置き換えることができます。

<?m2e ignore?>

enter image description here

詳細は リリースノート を参照してください。

22
David

これまでの回答の補足として、この定型句をすべてプロジェクトPOMに追加できない、または追加したくない場合に、私が発見した回避策があります。次の場所を見れば:

{Eclipse_folder}/plugins/org.Eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

lifecycle-mapping-metadata.xmlという名前のファイルがあります。ここでは、他の回答および M2Eプラグインの実行には記載されていないのと同じ変更を加えることができます

21
htompkins

プラグイン実行のMaven設定をエラーから無視に変更

17
kvm006

私はMavenプラグインとしてEclipse v3.7(Indigo)とm2Eclipseに同じ問題を抱えていた。エラーはプラグイン定義内の実行フェーズを明示的に記述することで簡単に解決されました。だから私のpomはこのようになります:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...
17
Kristiaan
  1. [ヘルプ]> [新しいソフトウェアをインストールする]をクリックします。
  2. これを使用してください ソフトウェアリポジトリ

    「インストール中にすべてのアップデートサイトに連絡して必要なソフトウェアを探す」がチェックされていることを確認してください。

  3. AJDT m2eコンフィギュレータをインストールする

出典: SpringSource Tool Suite 2.8.0のMaven統合のアップグレード (Andrew Eisenberg)

ADJTがインストールされていない場合はこれで自動的にインストールされますが、インストールされていない場合は最初に "Indigo update site"からAspectJ Development Tools(ADJT)をインストールします(Eclipseのバージョンによります)。

AspectJ開発ツールサイトの詳細

10
Hendy Irawan

私はIndigoとXSDからJavaソースを生成する必要があるプロジェクトで同じ問題を抱えていました。
このページに記載されているように、行方不明のライフサイクル・マッピングを指定することで解決できます

9
Tillmann

私はブログ投稿SpringSource Tool Suite 2.8.0のMaven統合のアップグレード _に従って修正しました。

" ああ…私のプロジェクトはもうビルドしない "というセクションのアドバイスに従ってください。 SpringSource Tool Suiteを対象としている場合でも、通常のEclipseインストールの修正に使用しました。 pomファイルを修正する必要はありませんでした。

8
Chepech

workspace/rtc-ws/.metadata/.plugins/org.Eclipse.m2e.core/lifecycle-mapping-metadata.xmlに移動し、lifecycle-mapping-metadata.xmlファイルを作成して以下に貼り付け、以下のように設定をリロードします

Eclipse 4.2を使用していてマッピングに問題があり、混乱しないようにする場合はpom.xml新規ファイルの作成lifecycle-mapping-metadata.xmlWindows -> Preferences -> Lifecycle mappingに設定してください(このファイルを変更するたびに[Reload workspaceライフサイクルマッピングメタデータ]を押してください)。これはEclipse/plugins/org.Eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xmlに基づく例です。

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>
8
fatih tekin

M2eコネクタがないため、このエラーはネオンでも発生します。解決方法:エラーにカーソルを合わせ、 - 新しいm2eコネクタを検出するを選択します。

それは新しいコネクタをインストールします、そしてそれはそれです。

5
Tamer Awad

Sonatypeの最後のバージョンである m2e 0.12 を使用してください。

5
Oh Chin Boon

私はm2eを更新した後に全く同じ問題を抱えていて、Eclipse WTPのためにMaven統合を再インストールすることによってそれを解決しました。

実は、m2eをバージョン0.xから1.xにアップデートしようとして、アンインストールしました。

4
Lisandro

私が使っていた

<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

そしてそれを

<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

そしてエラーは消えました。実行をテスト - コンパイルフェーズに結び付けることはお勧めできません。そのため、別のフェーズを見つけることが、Mavenのライフサイクルにプラグイン管理設定を追加するための代替ソリューションになるかもしれません。

4
Bob

WTPはどこにありますか。

Pom.xmlの<plugin>と 'Discover new m2e connectors'の上にマウスを置きます。

私はそれらにデフォルトチェックされているものすべてをインストールして、それは機能します。

4
siOnzee

私は今日この問題を抱えていました。 STS 3.4とそのバンドルRoo 1.2.4を使用していました。後でEclipse KeplerとRoo 1.2.5を試してみましたが、同じエラーです。

Pom.xmlをビルド後とプラグイン宣言の前にpluginTemplatesタグを追加するように変更しましたが、うまくいきませんでした。

私の魔法を作ったのは、

  • Jdk 1.7.0_51を使う
  • ダウンロードRoo 1.2.5
  • ダウンロードしたMaven 3.2.1(実行していない場合、「perform Eclipse」を実行すると、このエラーが「error = 2、そのようなファイルまたはディレクトリはありません」と表示されます)
  • 私のPATHにJDK、Roo、Mavenのbinディレクトリを設定します。

    エクスポートパス=/opt/jdk1.7.0_51/bin:$ PATHエクスポートパス=/opt/spring-roo-1.2.5。リリース/ bin:$パスエクスポートパス=/opt/Apache-maven-3.2.1/bin :$ PATH

次のように私の設定を行いました:( http://docs.spring.io/spring-roo/reference/html/beginning.html

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform Eclipse

Eclipseで開きます(STSのものは何もありませんが、うまくいきます):Import - > Existing Projects to Workspace

3
camposer

私はMavenのThiftプラグインとまったく同じ問題に遭遇しました。これが私の解決策で、pom.xmlをめちゃくちゃにする必要はありません。

  1. コマンドラインのmavenユーティリティmvnを使う

    mvn Eclipse:eclipse

    eclipseプロジェクトを作成する

  2. Eclipseにプロジェクトをインポートしてください。忘れずに

    ファイル>インポート>一般>既存プロジェクトをワークスペースに

    プロジェクトをワークスペースに追加します。

これで問題は解決するはずです。

2
PickBoy

Pomファイルをめちゃくちゃにするのではなく、Eclipseで ビューの表示 Markers に移動し、適切なエラーのマーカーを選択して削除することをお勧めします。

2

私はGUIのヒントに従って任意のコネクタを見つけ、次にSpringSourceチームのAspectJ Integratorを見つけました。インストール後に解決しました。

1
deng hui

変化

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

私のために問題を解決しました。

1
dontcare

この答えは上記のトップのプラグイン管理の答えと同じくらい良いです(つまり、それはひどいです)。

Pom内の問題のあるxmlコードをすべて削除するだけです。

完了しました。問題が解決しました(あなたがMavenの設定を壊したことを除いて...)。

開発者は、これらの解決策を実行する前に、プラグイン管理タグを十分に理解している必要があります。あなたのプラグインのまわりで単にプラグイン管理をたたくだけでランダムになると、Eclipseを動かすためだけに、他のみんなにとってMavenのビルドが壊れる可能性があります。

1
Michael Haefele

eclipseでこのエラーを抑制することができます:ウィンドウ - >設定 - > Maven - >エラー/警告

1
Pankaj Rastogi

Eclipse Junoを使用している場合は、 Maven Integration For Eclipse WTP の問題である可能性があります。だからEclipse Market Placeから同じものをインストールする。

Eclipse IDE Help >> Eclipse Market Place >>で、wtpと入力すると、Juno用Eclipse WTPのMaven統合が表示され、インストールしてMavenの依存関係を更新して楽しむことができます。

私は同じエラーを受けました。以下をした後それは消えました。

  1. プロジェクトを右クリックします。
  2. Maven>プロジェクトを更新...を選択します。
1
Lilylakshi

私はEclipse v4.3(Kepler)とMaven 3.1を使ってこれに遭遇しました。

解決策は、EclipseプロジェクトにJREではなくJDKを使用することです。足りないJARファイルをダウンロードするためだけに、maven cleanを試してEclipseからテストしてください。

1
Yamato

私にとってこれはAspectJクラスが原因でした。私はディスカバリーの下で助けになることができるプラグインを見つけることができませんでした。そのため、既存のSTSインストールのプラグインおよび機能フォルダーの下にあるorg.maven.ide.Eclipse.ajdtファイルをコピーすることによってこれを修正しました。

私は知っています、非常に失礼なアプローチです。

0
DevCat

私は長年この問題に対処しています…Eclipseの恥です。アプリがMavenモジュールに分割されている場合は、installを使用してプラグインuse mavenコマンドラインを再生成/実行する必要があるときはいつでも、IDEから影響を受けるモジュールを削除することを検討できます。いいえ いじる 必要。

0
tomasb