wake-up-neo.com

Die Plugin-Ausführung wird nicht durch den Lifecycle-Konfigurationsfehler in Eclipse mit PluginManagement im übergeordneten Pom abgedeckt

Ich habe jaxws-maven-plugin in parent pom.xml im pluginManagement-Tag, und ich beziehe mich auf dieses Plugin im child pom. 

mvn clean install läuft einwandfrei. Eclipse beschwert sich jedoch darüber, dass "Die Plugin-Ausführung wird nicht durch die Lebenszykluskonfiguration abgedeckt: org.codehaus.mojo: jaxws-maven-plugin: 1.12: wsimport (Ausführung: FirstWsdl, phase: generate-sources)". 

Könnten Sie vorschlagen, wie Sie diesen Fehler bei der Sonnenfinsternis vermeiden können?

elternteil Pom

<pluginManagement>
    <plugins>
    ...
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
        <version>1.12</version>
        <executions>
            <execution>
                <id>FirstWsdl</id>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <phase>generate-sources</phase>
                <configuration>
                    <wsdlLocation>location/file.wsdl</wsdlLocation>
                    <wsdlFiles>
                        <wsdlFile>file.wsdl</wsdlFile>
                    </wsdlFiles>
                    <packageName>com.xxx.package</packageName>
                </configuration>
            </execution>

        </executions>
        <configuration>
            <sourceDestDir>${basedir}/generated</sourceDestDir>
            <verbose>true</verbose>
            <extension>true</extension>
            <keep>true</keep>
            <vmArgs>
                <vmArg .../>
            </vmArgs>
        </configuration>

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

kind Pom

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
    </plugin>
</plugins>

Ich habe mir diese Frage angesehen und geantwortet Wie löse ich die "Plugin-Ausführung, die nicht durch die Lebenszykluskonfiguration abgedeckt wird" für Spring Data Maven Builds , aber sollte ich PluginManagement sowohl in Parent- als auch Child-Pom verwenden, um diesen Fehler zu vermeiden?

17

Das sollte sein:

  • dokumentiert auf der Wiki-Seite " Ausführung des M2E-Plugins nicht abgedeckt ": 

    Die Projektlebenszykluszuordnung des Projekts kann in pom.xml eines Projekts konfiguriert werden, von Eclipse-Plugins beigesteuert werden oder standardmäßig den häufig verwendeten Maven-Plugins zugewiesen werden, die im Lieferumfang von m2e enthalten sind.
    Wir nennen diese "Lifecycle-Mapping-Metadatenquellen".
    m2e erstellt wie nachstehend beschrieben eine Fehlermarkierung für alle Plugin-Ausführungen, für die keine Lebenszykluszuordnung in einer der Zuordnungsmetadatenquellen vorhanden ist. 

  • in " So lösen Sie die Plugin-Ausführung, die nicht durch die Lebenszykluskonfiguration abgedeckt ist" für Spring Data Maven Builds "(die Sie referenzieren) gelöst.

    • entweder durch Hinzufügen der lifecycleMappingMetadata im übergeordneten Pom.
    • oder indem Sie die Plugins mit dem <pluginManagement>-Tag (in beiden Pom) einschließen. 

Dieser Thread fügt Ihrer spezifischen Fehlermeldung weitere Details hinzu:

wenn Sie in der Eclipse-UI in den Projekteigenschaften unter "Maven" -> "Lifecyle Mapping" nachsehen (das Kontrollkästchen "Lebenszyklusphasen anzeigen" und "Ignorierte Ausführungen anzeigen" deaktiviert), werden die folgenden Inhalte angezeigt.
Nach meinem Verständnis zeigt diese Datei die Zuordnung zwischen dem Eclipse-Build-Lebenszyklus (Laufzeit/Zuwachs) und den gebundenen Maven-Plugins.
Derzeit enthält es nicht das Plugin „jax-ws“ bzw. sein Ziel „wsimport“.

Das Problem ist, dass Sie das jax-ws-Plugin im Abschnitt pluginManagement deklariert haben.
Um eine Bindung an eine Phase zu erhalten, sollte es in build/plugins sein.
Das Ausführen eines Maven-Builds über die CLI würde ebenfalls nicht funktionieren. Daher vermute ich, dass Sie nicht die standardmäßige "mvn-Installation" ausführen.

Um die Maven-Exekution aus Eclispe heraus zum Laufen zu bringen, müssen Sie nichts tun.
Wenn Sie inkrementelle/Laufzeitunterstützung in der IDE haben möchten, sollten Sie den richtigen m2e-Connector erhalten. Wenn Sie sich das Pom im POM-Editor in Eclipse ansehen, sollte die Ausführung des Plugins mit einem roten Fehler X gekennzeichnet sein. Wenn Sie den Mauszeiger darüber bewegen, sollten Sie die Option erhalten, einen zu finden ("Entdecken Sie neue m2e Connectors").

21
VonC

Wenn Sie connectior nicht finden können, können Sie diesen Fehler in Eclipse Deaktivieren, da die Dokumentation Folgendes besagt:

Um die Maven-Exekution aus Eclispe heraus zum Laufen zu bringen, müssen Sie nichts tun.

gehen Sie zu Eclipse: Preferences -> Maven -> Error/Warnings und ändern Sie Error in Warning in Option: Plugin execution not converted by lifecycle configuration.

17
Dawid D

Gehen Sie zu pom.xml und klicken Sie mit der rechten Maustaste> Abhängigkeit hinzufügen>. Geben Sie die Gruppen-ID und die ID des Artefakts ein. Klicken Sie auf OK. Dadurch wird das Problem "Plugin-Ausführung, das nicht durch den Lebenszyklus abgedeckt ist" behoben. 

0

https://www.Eclipse.org/m2e/documentation/m2e-execution-not-covered.html ist die Originalseite, auf der alles erklärt wird. Die Definition im Elternteil sollte für die Kinder ausreichend sein.

0
Robert Scholte