如何使用m2eclipse类型项目的自定义生命周期?

时间:2011-01-26 13:38:11

标签: eclipse maven configuration m2eclipse lifecycle

使用 m2eclipse 时...如果右键单击maven项目并从弹出菜单中选择属性,则输入项目首选项对话框,其中包含 Maven->生命周期部分,允许自定义哪些构建阶段应绑定到构建生命周期,只要项目刷新或清洁建即可。但是,这些自定义项是粗粒度的并且在“项目配置更新”时丢失(同样,如果您放置文件“org.maven.ide.eclipse.prefs”,这些设置在版本控制下保存...项目导入,文件将被覆盖)。

在寻找解决方案时,我找到了this answer from pascal-thivent,其中他描述了“如何在项目首选项中创建一个新的Maven构建器......”这在我的案例中没有太大帮助,因为“创建 - 新 - 不幸的是,在我的Eclipse设置中,“Builder-Dialog”无法找到这样的Maven Builder 。现有构建器已禁用“Edit-Builder”按钮。

1 个答案:

答案 0 :(得分:0)

使用Maven,所有构建信息都存储在pom.xml中,大多数详细配置都是maven plugin configuration

Eclipse IDE中的所有配置都应使用m2e Eclipse plugin完成。好吧,我不知道在哪里找到所有可能的配置。但有时在编辑pom.xml时有一些选项可用作Eclipse警告

以下是我当前设置的示例。它由m2e生成。

    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>ro.isdc.wro4j</groupId>
                                    <artifactId>
                                        wro4j-maven-plugin
                                    </artifactId>
                                    <versionRange>
                                        [1.4.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>jshint</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        com.github.searls
                                    </groupId>
                                    <artifactId>
                                        jasmine-maven-plugin
                                    </artifactId>
                                    <versionRange>
                                        [1.2.0.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>
                                            generateManualRunner
                                        </goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>

        </plugins>
    </pluginManagement>