簡體   English   中英

使用父pom中的pluginManagement在eclipse中生命周期配置錯誤未涵蓋插件執行

[英]Plugin execution not covered by lifecycle configuration error in eclipse with pluginManagement in parent pom

我在pluginManagement標簽中的父pom.xml中有jaxws-maven-plugin,我指的是這個插件在pom中。

mvn clean install運行正常。 但是,eclipse抱怨“生命周期配置未涵蓋插件執行:org.codehaus.mojo:jaxws-maven-plugin:1.12:wsimport(執行:FirstWsdl,階段:生成源)”。

你能建議如何在eclipse中避免這個錯誤嗎?

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

孩子pom

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

我查看了這個問題,並回答如何解決Spring Data Maven Builds的“生命周期配置未涵蓋的插件執行” ,但是,我應該在父和子pom中使用pluginManagement來避免此錯誤嗎?

這應該是:

  • 維基頁面中記錄的“ 未涵蓋M2E插件執行 ”:

    項目構建生命周期映射可以在項目的pom.xml配置,由Eclipse插件提供,或者默認為m2e附帶的常用Maven插件。
    我們將這些稱為“ 生命周期映射元數據源 ”。
    m2e將為所有在任何映射元數據源中沒有生命周期映射的插件執行創建如下所示的錯誤標記。

  • 如何解決”插件執行中未說明的 “生成周期配置”(適用於Spring Data Maven Builds )(您參考)。

    • 通過在父pom中添加lifecycleMappingMetadata。
    • 或者用<pluginManagement>標簽封裝插件(在兩個pom中)。

該線程為您的特定錯誤消息添加了更多詳細信息:

當在“Maven” - >“Lifecyle Mapping”下查看項目屬性中的Eclipse-UI時(選中“顯示生命周期階段”復選框並禁用“顯示忽略的執行”),我看到以下內容。
據我所知,這個文件顯示了Eclipse構建生命周期(運行時/增量)與其綁定的Maven插件之間的映射。
目前,它不包含“ jax-ws ”插件,其目標分別為“ wsimport ”。

問題是你在pluginManagement部分聲明了jax-ws插件。
要獲得綁定到階段,它應該在build / plugins中。
從CLI執行Maven構建也不起作用,所以我懷疑你沒有做標准的“mvn install”?

要從Eclispe內部執行Maven執行工作,您無需執行任何操作。
但是如果你想在IDE中獲得增量/運行時支持,你應該得到合適的m2e連接器。 如果你在Eclipse中的POM編輯器中查看pom,插件執行應該用紅色錯誤X標記。將鼠標懸停在它上面你應該找到一個選項(“發現新的m2e連接器”)。

如果你找不到連接器,你可以在eclipse中關閉這個錯誤,因為文檔說:

要從Eclispe內部執行Maven執行工作,您無需執行任何操作。

所以轉到Eclipse: Preferences -> Maven -> Error/Warnings並在選項中將Error更改為Warning: Plugin execution not converted by lifecycle configuration

https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html是解釋所有內容的原始頁面。 在父母中定義它應該足夠其子女。

轉到pom.xml並右鍵單擊>添加依賴關系>輸入組ID和工件ID單擊確定。 這將解決“生命周期未涵蓋的插件執行”問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM