web-dev-qa-db-ja.com

org.Eclipse.m2e:lifecycle-mappingの警告が見つからないPOMを取り除く

M2e 1.0が正しく機能するように、ライフサイクルマッピングを指定する必要がありました。

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.Eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.bsc.maven</groupId>
                                    <artifactId>maven-processor-plugin</artifactId>
                                    <versionRange>[2.0.2,)</versionRange>
                                    <goals>
                                        <goal>process</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>                         
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

しかし、私はこの警告を受け取ります:

 [WARNING] The POM for org.Eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available
 [WARNING] Failed to retrieve plugin descriptor for org.Eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.Eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.Eclipse.m2e:lifecycle-mapping:jar:1.0.0

たとえば、特定のMavenタスクを実行すると、mvn clean install findbugs:findbugs(実行するのがmvn clean installその後、そのようなメッセージはありません)

問題は、このPOMが存在しないことです。これは、マッピング情報を保持するためにのみ定義されているためです。 ( m2eライフサイクルマッピングが見つかりません

とにかく、警告なしでビルドをきれいに保ちたいので、この特定のものをどのように取り除くことができますか? (CIサーバーは警告がないことを確認します。

私はMaven 3.0.2を使用し、Maven 3.0.3も試しましたが、結果は同じです。

54
Ralph

私のチームは、関連する構成をプロファイルにラップすることにより、この問題を回避しています。

<profile>
  <id>only-Eclipse</id>
  <activation>
    <property>
      <name>m2e.version</name>
    </property>
  </activation>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.Eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            ...
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</profile>
63
ctrueden

これは 既知のバグ with[〜#〜] wontfix [〜#〜]解像度です。提案された解決策は私の意見では最も簡単です:

mvn archetype:generate -DgroupId=org.Eclipse.m2e -DartifactId=lifecycle-mapping \
 -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-mojo

およびinstallこのプロジェクト。

17
allprog

このソリューションは非推奨になりました。受け入れられた答えである@ctruedenによる「プロファイル」ソリューションの使用をお勧めします!

最もクリーンなソリューションではありませんが、会社でリポジトリマネージャーを使用している場合、または自分で作業している場合は、その間に次の操作を実行できます。-チェックアウト https:// github。 com/mfriedenhagen/dummy-lifecycle-mapping-plugin 。 -mvn install自分でいるとき-mvn deploy -DaltDeploymentRepository=REPO_ID::default::YOUR_THIRDPARTY_REPO_URL NexusやArtifactoryなどのリポジトリマネージャーがある場合。 - https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin/blob/master/README.creole も参照してください。

よろしくミルコ

8

m2Eclipse 1.7.0は、代替手段、つまりXML処理命令を導入しました。

元の例では、すべての<execution>maven-processor-pluginprocessの目標

<?m2e execute?>

構文およびその他のオプションの詳細については、 リリースノート を参照してください。

5
Andreas Sewe

より良い解決策があります(Eclipseのエラーメッセージのみ)。

押す CTR+1 エラー時ライフサイクル設定でカバーされないプラグインの実行:org.codehaus.mojo:buildnumber-maven-plugin:1.1:create-timestamp(execution:default-create-timestamp、phase:validate)その後このオプションを選択してください:

enter image description here

これはorg.Eclipse.m2e.editor.xml_1.2.0.20120903-1050.jarプラグイン(おそらく以前も)

1