解決'maven lifecycle mapping not converted'的問題


基於maven的項目,使用各種maven plugin來完成開發中的各種工作,例如編譯代碼,打包,部署等等… 每個plugin包含許多的goal,用來做特定的事情。典型的基於java的maven項目就有 clean compile test package deploy等goal要執行。除了這些比較常見的goal之外,項目中還可以使用大量的第三方的plugin,甚至自己動手開發的plugin。

隨之而來的問題是,在eclipse中編輯maven項目的時候,eclipse並不知道這些goal要做什么,通用的goal還好說,特殊用途的goal就沒有辦法了。所以m2eclipse這個集成maven到eclipse的plugin就提供了開發extra的能力,eclipse利用這些extra來完成本來在maven plugin要干的活。

如果eclipse沒有辦法知道某個goal要干什么,那么通常就會看到如下的錯誤信息:

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-dependency-plugin:2.6:copy (execution: default, phase: validate)

 


參考這里
http://wiki.eclipse.org/M2E_plugin_execution_not_covered 之后,要做的就是告訴eclipse要忽略的goal,我認為在workspace的層面忽略比較合適,這個本身就是編輯器層次的問題,和項目無關,所以如果放在pom中感覺怪怪的。由於我個人更傾向於在命令行下讓maven干活,而eclipse更多的只是充當編輯器的角色,所以我要的只是讓eclipse忽略掉這些goal就好了。

首先安裝最新版本的m2eclipse (1.2 ver),update side是 http://download.eclipse.org/technology/m2e/releases 因為m2eclipse已經交給eclipse來維護了,所以之前的那個(http://download.eclipse.org/technology/m2e/releases),已經不更新了。

安裝完之后,我們來忽略上面的那個錯誤,它的意思是eclipse不知道 maven-dependency-plugin 里面的 goal:copy 我沒有辦法執行 :) 要忽略這個goal,打開 eclipse->preference->maven->lifecycle mappings,打開 lifecycle-mapping-metadata.xml 文件,將如下內容替換進去:

lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8" ?>

<lifecycleMappingMetadata>

    <pluginExecutions>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <versionRange>[2.6, )</versionRange>
                <goals>
                    <goal>copy</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>

</lifecycleMappingMetadata>

 

然后執行一下Project Update,那個錯誤就消失了

 

http://ljhzzyx.blog.163.com/blog/static/383803122013440345857/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM