webentwicklung-frage-antwort-db.com.de

POM loswerden nicht gefunden Warnung für org.Eclipse.m2e: Lifecycle-Mapping

In der Absicht, m2e 1.0 zum Laufen zu bringen, musste ich das Lifecycle-Mapping festlegen:

    <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>

Aber dann bekomme ich diese Warnung:

 [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

wenn ich eine bestimmte Maven-Task ausführe, zum Beispiel mvn clean install findbugs:findbugs (Wenn ich nur mvn clean install ausführe, gibt es keine solche Meldung.)

Ich weiß, dass das Problem darin besteht, dass dieses POM nicht vorhanden ist, da es nur zum Speichern der Zuordnungsinformationen definiert ist. ( m2e Lifecycle-Mapping nicht gefunden )

Wie auch immer, ich möchte meinen Build ohne Vorwarnung sauber halten, also wie kann ich diesen speziellen loswerden? ( Mein CI-Server überprüft, dass keine Warnung vorliegt. )

Ich benutze Maven 3.0.2 und habe auch Maven 3.0.3 ausprobiert, aber das gleiche Ergebnis.

54
Ralph

Mein Team umgeht dieses Problem, indem es die entsprechende Konfiguration in ein Profil einfügt:

<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

Dies ist ein bekannter Fehler mit [~ # ~] Wontfix [~ # ~] Auflösung. Die vorgeschlagene Lösung ist meiner Meinung nach die einfachste:

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

und install dieses Projekt.

17
allprog

Diese Lösung ist jetzt veraltet, ich würde empfehlen, die "Profil" -Lösung von @ctrueden zu verwenden, die die akzeptierte Antwort ist!

Obwohl dies nicht die sauberste Lösung ist, können Sie in der Zwischenzeit Folgendes tun, wenn Sie einen Repository-Manager in Ihrem Unternehmen verwenden oder alleine sind: - Checkout https://github.com/mfriedenhagen/Dummy-Lifecycle-Mapping-Plugin . - Lauf mvn install wenn du alleine bist - Run mvn deploy -DaltDeploymentRepository=REPO_ID::default::YOUR_THIRDPARTY_REPO_URL wenn Sie einen Repository-Manager wie Nexus oder Artifactory haben. - Siehe auch https://github.com/mfriedenhagen/dummy-lifecycle-mapping-plugin/blob/master/README.creole

Grüße Mirko

8

m2Eclipse 1.7.0 führte eine Alternative ein, nämlich eine XML-Verarbeitungsanweisung.

Im ursprünglichen Beispiel würden Sie einfach alle <execution> des maven-processor-pluginS process Ziel mit

<?m2e execute?>

Weitere Informationen zur Syntax und zu weiteren Optionen finden Sie in den Versionshinweisen .

5
Andreas Sewe

Jetzt gibt es eine bessere Lösung (nur für die Fehlermeldungen in Eclipse).

Drücken Sie CTR+1 on the error Plugin-Ausführung, die nicht von der Lifecycle-Konfiguration abgedeckt wird: org.codehaus.mojo: Build-Nummer-Maven-Plugin: 1.1: Zeitstempel erstellen (Ausführung: Standard-Zeitstempel erstellen, Phase: Validieren und dann Wählen Sie diese Option:

enter image description here

Dies funktioniert mit org.Eclipse.m2e.editor.xml_1.2.0.20120903-1050.jar Plugin (vielleicht auch früher)

1