使用生命周期映射包括m2e 1.0+的旧m2e插件?

时间:2011-07-10 14:07:32

标签: m2eclipse lifecycle m2e

我想启用m2e v 1.0中不可用的旧插件

我已将此添加到POM中,但如果有多个项目则无效。

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-dependency-plugin</artifactId>
                                    <version>[0.0.0,)</version>
                                    <goals>
                                        <goal>unpack</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>build-helper-maven-plugin</artifactId>
                                    <version>[0.0.0,)</version>
                                    <phase>generate-sources</phase>
                                    <goals>
                                        <goal>add-source</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

我也尝试过以下变化。

    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <lifecycleMappings>
                            <lifecycleMapping>
                                <pluginExecutions>
                                    <pluginExecution>
                                        <pluginExecutionFilter>
                                            <groupId>org.apache.maven.plugins</groupId>
                                            <artifactId>maven-dependency-plugin</artifactId>
                                            <version>[0.0.0,)</version>
                                            <goals>
                                                <goal>unpack</goal>
                                            </goals>
                                        </pluginExecutionFilter>
                                        <action>
                                            <execute />
                                        </action>
                                    </pluginExecution>
                                </pluginExecutions>
                            </lifecycleMapping>
                            <lifecycleMapping>
                                <pluginExecutions>
                                    <pluginExecution>
                                        <pluginExecutionFilter>
                                            <groupId>org.codehaus.mojo</groupId>
                                            <artifactId>build-helper-maven-plugin</artifactId>
                                            <version>[0.0.0,)</version>
                                            <phase>generate-sources</phase>
                                            <goals>
                                                <goal>add-source</goal>
                                            </goals>
                                        </pluginExecutionFilter>
                                        <action>
                                            <execute />
                                        </action>
                                    </pluginExecution>
                                </pluginExecutions>
                            </lifecycleMapping>
                        </lifecycleMappings>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

我得到的错误信息是:

  

无法解析maven项目的生命周期映射元数据MavenProject:com.sakriom:drools-context:0.0.1-SNAPSHOT @ D:\ Documents and Settings ..... \ Workspaces \ Eclipse 3.6 - Scala \ DroolsContext \ pom。 XML    原因:无法识别的标签:'版本'(位置:START_TAG见过...... \ r \ n ... ... @ 10:22)

如何解码此错误消息?

3 个答案:

答案 0 :(得分:23)

原因:无法识别标记:'版本'” - 它抱怨<version>[0.0.0,)</version>标记,因为它不属于<pluginExecutionFilter> 1}}。您应该使用<versionRange>[0.0.0,)</versionRange>代替。

答案 1 :(得分:6)

原因:无法识别标记:'版本'” - 它抱怨<version>[0.0.0,)</version>标记,因为它不属于<pluginExecutionFilter> 1}}。您应该使用<versionRange>[0.0.0,)</versionRange>代替。

答案 2 :(得分:2)

第8行不允许使用元素version

如果您需要更多帮助,请将pom-xml的相关部分添加到您的问题中。

[编辑] 根据您提供的POM,问题是您在项目的version元素中使用了属性。 Maven仅支持所有其他version元素中的属性,但不支持此元素。

但错误信息似乎有点奇怪。试试最新的Maven版本(3.0.3)。如果仍然出现相同的错误,请创建一个小的演示POM来显示问题(尽可能删除)并在Maven issue tracker中打开一个错误。