私はMaven M2E Plugin 1.0.100でEclipse 3.7 Indigoを使っています。
JBoss 7.x JavaEE 6 EARアーキタイプを使用して、EARのポンポンは私にこのエラーを与えています:
プラグインの実行はライフサイクル設定の対象外です:org.Apache.maven.plugins:maven-ear-plugin:2.6:generate-application-xml(実行:default-generate-application-xml、フェーズ:generate-resources)
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- Tell Maven we are using Java EE 6 -->
<version>6</version>
<!-- Use Java EE ear libraries as needed. Java EE ear libraries
are in easy way to package any libraries needed in the ear, and automatically
have any modules (EJB-JARs and WARs) use them -->
<defaultLibBundleDir>lib</defaultLibBundleDir>
<modules></modules>
</configuration>
<plugin>
これはしばらく前に導入されたM2Eプラグインの「機能」です。これはJBoss EARプラグインと直接の関係はありませんが、他のほとんどのMavenプラグインでも起こります。
pom
でプラグインの実行が定義されている場合(maven-ear-plugin:generate-application-xml
の実行など)、ビルドがEclipseで実行されたときの動作をM2Eに指示する追加の構成情報も追加する必要があります。プラグインの実行がM2Eによって無視されたり実行されたりする場合は、インクリメンタルビルドでも実行される必要があります。
「プラグインの実行はライフサイクル設定の対象外です」
より詳細な説明と、このエラーを解決するためにpomに追加する必要がある設定例については、こちらを参照してください。
https://www.Eclipse.org/m2e/documentation/m2e-execution-not-covered.html
とにかく手遅れですが、私の解決策はEclipseのエラーメッセージを右クリックし、そのようなエラーがあるすべてのpomに対してクイックフィックス>>無視を選択することでした。
プロジェクトが誤検知のエラーマーカーを継承せずにm2eをより適切に設定できることを思い出させるには、これらのエラーを単に警告に格下げすることをお勧めします。
ウィンドウ - >設定 - > Maven - >エラー/警告 - >プラグインの実行がライフサイクル設定でカバーされていない=警告
クリーンアップ直後、つまりポストクリーン(デフォルトはクリーンフェーズ)を実行してみました。これはEclipse Indigoで私のために働きました。ポストクリーンを追加しただけで問題は解決しました。
<executions>
<execution>
<configuration>
</configuration>
<phase>post-clean</phase>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
私はこのソリューションを適用することでEclipse Kepler 4.3のmaven-antrun-pluginとjaxb2-maven-pluginで同じ問題を解決することができました。 http://wiki.Eclipse.org/M2E_plugin_execution_not_covered# Eclipse_4.2_add_default_mapping
したがって、私の%elipse_workspace_name%/。metadata/.plugins/org.Eclipse.m2e.core/lifecycle-mapping-metadata.xmlの内容は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>1.3</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<versionRange>1.2</versionRange>
<goals>
<goal>xjc</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
*エラーが消えるのを見るためにEclipseを再起動しなければなりませんでした。
Maven Eclipse (m2e)バージョン0.12以降、すべてのMavenライフサイクル目標は、インストール済みのm2e拡張機能にマップする必要があります。この場合、maven-ear-plugin
にはマッピングされていない目標default-generate-application-xml
がありました。
ここの指示に従うだけで、マッピングされていないライフサイクル目標を除外できます。
https://wiki.Eclipse.org/M2E_plugin_execution_not_covered
あるいは、Eclipseでエラーメッセージを右クリックしてQuick Fix
- > Ignore for every pom with such errors
を選択するだけです。
ライフサイクルの目標を無視するときは注意が必要です。通常、目標は何か役に立つことであり、Eclipseでそれらを無視するように設定すると、重要なビルド手順を見逃すことがあります。マッピングされていないライフサイクル目標のために、Maven Eclipse EARエクステンションへのサポートを追加することも検討したいと思うかもしれません。
質問が古すぎるとしても、私はそれがこのエラーになると私はすでにすべてをチェックしたので私のために働いた解決策を共有したいと思います。それは苦痛でした、私は2日間試みることに費やしました、そして最後に解決策は以下の通りでした:
EclipseでM2eプラグインを更新します
きれいにしてそして再び造る
Janの答えで説明されているメカニズムで、私はm2eが "generate-application-xml"という目標を無視するように差し込むように指示しました。これはエラーを取り除き、m2eがapplication.xmlを作成してから機能するようです。
そのため、基本的に、エラーにより、Mavenビルドがm2eプラグインの制御下でEclipse内で実行されるときに、どのメカニズムがapplication.xmlの生成を担当しているのかを判断する必要がありました。そして私達はm2eが担当していることにしました。
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.6</version>
<configuration>
<version>6</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
</configuration>
</plugin>
</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.Apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<versionRange>[2.1,)</versionRange>
<goals>
<goal>generate-application-xml</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>**
</plugins>
</pluginManagement>
</build>
あなたは M2E_plugin_execution_not_covered の内容を理解し、下記のステップに従う必要があります。
<ignore/>
タグの下に<action>
で追加します。例:write-project-propertiesエラーの場合は、lifecycle-mapping-metadata.xmlファイルの<pluginExecutions>
セクションの下にこのスニペットを追加します。
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<versionRange>1.0-alpha-2</versionRange>
<goals>
<goal>write-project-properties</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
どのプロジェクトでも、今後エラーが発生しないはずです。