Как использовать пользовательский жизненный цикл для проекта типа m2eclipse? - PullRequest
4 голосов
/ 26 января 2011

При использовании m2eclipse ... если вы щелкните правой кнопкой мыши проект maven и выберите Свойства во всплывающем меню, вы откроете диалоговое окно настроек проекта. , который имеет секцию Maven-> Lifecycle , позволяющую настроить, какие фазы сборки должны быть привязаны к жизненному циклу сборки, всякий раз, когда проект обновляется или чистится, Однако эти настройки являются грубыми и теряются при «проекте-конфигурации-обновлении» (то же самое, если вы помещаете файл «org.maven.ide.eclipse.prefs», где эти настройки сохраняются под контролем версий ... после импорт проекта, файл будет перезаписан).

В поисках решения я нашел этот ответ от pascal-thivent , где он описывает «как создать нового сборщика Maven в настройках проекта ...», что не совсем помогло в моем случае, потому что "Create-New-Builder-Dialog" в моей настройке Eclipse, к сожалению, не может найти такой Maven Builder . А на существующем компоновщике кнопка «Редактировать-компоновщик» отключена.

1 Ответ

0 голосов
/ 22 марта 2013

С Maven вся информация о сборке хранится в pom.xml, а наиболее подробная конфигурация - Конфигурация плагина maven .

Вся конфигурация внутри Eclipse IDE должна выполняться с использованием m2e плагина Eclipse.Ну, я не знаю, где найти все возможные конфигурации.Но иногда некоторые опции доступны как предупреждение Eclipse при редактировании pom.xml

Вот пример моих текущих настроек.Генерируется 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>
...