Переопределение определения цели плагина Maven для данного идентификатора выполнения - PullRequest
5 голосов
/ 20 июля 2011

Невозможно переопределить определение цели выполнения плагина.

Допустим, у меня есть родительский конфиг Jetty, который определяет

                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>

теперь я хочу, чтобы локально для конкретного проекта цель взорвалась

Если я пытаюсь переопределить определение родителя в локальном проекте с помощью

                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run-exploded</goal>
                        </goals>
                    </execution>

тогда у меня эффективный пом становится

                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run</goal>
                            <goal>run-exploded</goal>
                        </goals>
                    </execution>

Я удивлен, поскольку я всегда думал, что это переопределит.

Это новое поведение в Maven3?

Есть ли способ получить переопределенное поведение вместо текущего?

Ответы [ 2 ]

10 голосов
/ 30 марта 2012

Я нашел способ отключить унаследованную конфигурацию и создать новую:

                    <execution>
                        <id>start-jetty</id>
                        <phase>none</phase>
                    </execution>
                    <execution>
                        <id>my-start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run-exploded</goal>
                        </goals>
                    </execution>
2 голосов
/ 20 июля 2011

Ну, это наследство, работающее так, как задумано. Вам следует рассмотреть возможность удаления конфигурации Jetty из родительского pom и поместить ее в профиль или попробовать элемент <inherited> со значением false и посмотреть, работает ли это для вас.

...