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 このアップデートサイト を試してみましたが、それでも同じエラーになります。
私の似たような問題では、Andrewの提案を使って修正するのではなく、問題のpom.xmlに <pluginManagement> タグを追加した後で問題は解決しました。このエラーは、<pluginManagement>タグが欠落していることが原因のようです。そのため、Eclipseでの例外を回避するには、すべてのプラグインタグを <pluginManagement> タグで単純に囲む必要があります。
<build>
<pluginManagement>
<plugins>
<plugin> ... </plugin>
<plugin> ... </plugin>
....
</plugins>
</pluginManagement>
</build>
この構造が整ったら、エラーは消えます。
なんてめちゃくちゃだ。私がこれを見つけた場所を覚えていませんが、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を無効にしました。
Eclipse m2eドキュメンテーションからの提案された解決策 :
pom.xml 内のエラーに対して quick-fix を使用してPermanently mark goal run in pom.xml as ignored in Eclipse build
を選択します。これで必要な定型コードが生成されます。
ビルド中にプラグインを実行するようEclipseに指示するには - 生成された設定で<ignore/>
タグを<execute/>
タグに置き換えるだけです。
<action>
<execute/>
</action>
あるいは、インクリメンタルビルドでもプラグインを実行するようにEclipseに指示することができます。
<action>
<execute>
<runOnIncremental>true</runOnIncremental>
</execute >
</action>
Eclipse Luna 4.4.0では、設定でこのエラーを無視することを選択できます
ウィンドウ > 設定 > Maven > エラー/警告 > プラグインの実行がライフサイクル設定でカバーされていない 。必要に応じて 無視/警告/エラー を選択します。
また、このエラーのクイックフィックス(Ctrl + 1)では、Eclipseの設定でEclipseのビルド設定で無視されるようにゴールをマークするオプションが与えられます(実験的)
これはあなたのpom.xml
を変更しないので、もっときれいな方法です。
他のプロジェクトでも同じエラーを修正するには Maven > Update project を実行する必要があります。
STS(Spring-tool-suite)では、設定でこのエラーを無視することを選択できます
「ウィンドウ」>「設定」>「Maven」>「エラー/警告」>「プラグインの実行」がライフサイクル構成でカバーされていません。ご希望に応じて、無視/警告/エラーを選択してください。それでは。プロジェクトを右クリックしてMavenをクリックしてプロジェクトを更新するとエラーが消えます。
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つの基本的な動作があります - 無視 、 実行 、そしてプロジェクトに委任する コンフィギュレータ 。
m2e 0.13は m2eコネクタ および m2e Market Place を導入してm2eの機能を拡張します。これは古いm2e-extrasリポジトリのようなものです。
あなたは好みからm2e市場にアクセスすることができます: 好み> Maven>発見>カタログを開く 。インストール - WTP統合 私のためにほとんどのプラグインの問題を解決しました。
今日の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?>
詳細は リリースノート を参照してください。
これまでの回答の補足として、この定型句をすべてプロジェクトPOMに追加できない、または追加したくない場合に、私が発見した回避策があります。次の場所を見れば:
{Eclipse_folder}/plugins/org.Eclipse.m2e.lifecyclemapping.defaults_{m2e_version}
lifecycle-mapping-metadata.xml
という名前のファイルがあります。ここでは、他の回答および M2Eプラグインの実行には記載されていないのと同じ変更を加えることができます 。
私は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>
...
これを使用してください ソフトウェアリポジトリ
「インストール中にすべてのアップデートサイトに連絡して必要なソフトウェアを探す」がチェックされていることを確認してください。
AJDT m2eコンフィギュレータをインストールする
出典: SpringSource Tool Suite 2.8.0のMaven統合のアップグレード (Andrew Eisenberg)
ADJTがインストールされていない場合はこれで自動的にインストールされますが、インストールされていない場合は最初に "Indigo update site"からAspectJ Development Tools(ADJT)をインストールします(Eclipseのバージョンによります)。
私はIndigoとXSDからJavaソースを生成する必要があるプロジェクトで同じ問題を抱えていました。
このページに記載されているように、行方不明のライフサイクル・マッピングを指定することで解決できます
私はブログ投稿SpringSource Tool Suite 2.8.0のMaven統合のアップグレード _に従って修正しました。
" ああ…私のプロジェクトはもうビルドしない "というセクションのアドバイスに従ってください。 SpringSource Tool Suiteを対象としている場合でも、通常のEclipseインストールの修正に使用しました。 pomファイルを修正する必要はありませんでした。
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.xml
をWindows -> 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>
M2eコネクタがないため、このエラーはネオンでも発生します。解決方法:エラーにカーソルを合わせ、 - 新しいm2eコネクタを検出するを選択します。
それは新しいコネクタをインストールします、そしてそれはそれです。
Sonatypeの最後のバージョンである m2e 0.12 を使用してください。
私はm2eを更新した後に全く同じ問題を抱えていて、Eclipse WTPのためにMaven統合を再インストールすることによってそれを解決しました。
実は、m2eをバージョン0.xから1.xにアップデートしようとして、アンインストールしました。
私が使っていた
<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のライフサイクルにプラグイン管理設定を追加するための代替ソリューションになるかもしれません。
WTPはどこにありますか。
Pom.xmlの<plugin>と 'Discover new m2e connectors'の上にマウスを置きます。
私はそれらにデフォルトチェックされているものすべてをインストールして、それは機能します。
私は今日この問題を抱えていました。 STS 3.4とそのバンドルRoo 1.2.4を使用していました。後でEclipse KeplerとRoo 1.2.5を試してみましたが、同じエラーです。
Pom.xmlをビルド後とプラグイン宣言の前にpluginTemplatesタグを追加するように変更しましたが、うまくいきませんでした。
私の魔法を作ったのは、
私の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
私はMavenのThiftプラグインとまったく同じ問題に遭遇しました。これが私の解決策で、pom.xmlをめちゃくちゃにする必要はありません。
コマンドラインのmavenユーティリティmvnを使う
mvn Eclipse:eclipse
eclipseプロジェクトを作成する
Eclipseにプロジェクトをインポートしてください。忘れずに
ファイル>インポート>一般>既存プロジェクトをワークスペースに
プロジェクトをワークスペースに追加します。
これで問題は解決するはずです。
Pomファイルをめちゃくちゃにするのではなく、Eclipseで ビューの表示 → Markers に移動し、適切なエラーのマーカーを選択して削除することをお勧めします。
私はGUIのヒントに従って任意のコネクタを見つけ、次にSpringSourceチームのAspectJ Integratorを見つけました。インストール後に解決しました。
変化
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>
に
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
私のために問題を解決しました。
この答えは上記のトップのプラグイン管理の答えと同じくらい良いです(つまり、それはひどいです)。
Pom内の問題のあるxmlコードをすべて削除するだけです。
完了しました。問題が解決しました(あなたがMavenの設定を壊したことを除いて...)。
開発者は、これらの解決策を実行する前に、プラグイン管理タグを十分に理解している必要があります。あなたのプラグインのまわりで単にプラグイン管理をたたくだけでランダムになると、Eclipseを動かすためだけに、他のみんなにとってMavenのビルドが壊れる可能性があります。
eclipseでこのエラーを抑制することができます:ウィンドウ - >設定 - > Maven - >エラー/警告
Eclipse Junoを使用している場合は、 Maven Integration For Eclipse WTP の問題である可能性があります。だからEclipse Market Placeから同じものをインストールする。
Eclipse IDE Help >> Eclipse Market Place >>で、wtpと入力すると、Juno用Eclipse WTPのMaven統合が表示され、インストールしてMavenの依存関係を更新して楽しむことができます。
私は同じエラーを受けました。以下をした後それは消えました。
私はEclipse v4.3(Kepler)とMaven 3.1を使ってこれに遭遇しました。
解決策は、EclipseプロジェクトにJREではなくJDKを使用することです。足りないJARファイルをダウンロードするためだけに、maven clean
を試してEclipseからテストしてください。
私にとってこれはAspectJクラスが原因でした。私はディスカバリーの下で助けになることができるプラグインを見つけることができませんでした。そのため、既存のSTSインストールのプラグインおよび機能フォルダーの下にあるorg.maven.ide.Eclipse.ajdtファイルをコピーすることによってこれを修正しました。
私は知っています、非常に失礼なアプローチです。
私は長年この問題に対処しています…Eclipseの恥です。アプリがMavenモジュールに分割されている場合は、install
を使用してプラグインuse mavenコマンドラインを再生成/実行する必要があるときはいつでも、IDEから影響を受けるモジュールを削除することを検討できます。いいえ いじる 必要。