Как решить проблему “Выполнение плагина, не охватываемое конфигурацией жизненного цикла” для сборок Spring Data Maven

StackOverflow https://stackoverflow.com/questions/6352208

Вопрос

Я пытаюсь работать с Весенние данные и Neo4j.Я начал с того, что попытался следовать это руководство ссылка на основной сайт.В частности, я основывал свой pom.xml на Файл-пример "Привет, мир!".Вот фрагмент из my pom.xml для плагина, который вызывает проблемы...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

Ошибка, которую я вижу, заключается в следующем:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

Я использую Eclipse 3.6.2 и m2e 0.13.Я не эксперт по Maven, поэтому, пожалуйста, будьте предельно понятны в своих ответах, если это возможно.

Я тоже пытался m2e 1.0.0 через это обновление сайта и все равно получаю ту же ошибку.

Это было полезно?

Решение

В моем случае с аналогичной проблемой, вместо того чтобы использовать предложение Эндрю для исправления, это сработало просто после того, как я представил <pluginManagement> пометьте ссылку на pom.xml, о котором идет речь.Похоже, что ошибка вызвана отсутствием тега <pluginManagement> .Итак, чтобы избежать исключений в Eclipse, нужно просто заключить все теги плагина внутрь <pluginManagement> тег, вот так:

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

Как только эта структура будет установлена, ошибка исчезнет.

Другие советы

Что за бардак.Я не помню, где я это нашел, но мне пришлось добавить следующее, чтобы M2Eclipse был счастлив.Еще более печально то, что не совсем просто понять, зачем нужен этот тег.

<build>
      ... various plugins ...

      <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>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

Был ряд других проблем с подключаемым модулем M2Eclipse, который просто не работал с Spring Data.В конце концов я отключил M2Eclipse в пользу Подключаемый модуль Apache Eclipse.

Предлагаемое решение от Документация Eclipse m2e:

  1. Использование быстрое решение об ошибке в pom.xml и выберите Permanently mark goal run in pom.xml as ignored in Eclipse build - это сгенерирует для вас необходимый шаблонный код.

  2. Чтобы дать указание Eclipse запустить ваш плагин во время сборки - просто замените <ignore/> метка с <execute/> тег в сгенерированной конфигурации:

    <action>
        <execute/>
    </action>
    

    В качестве альтернативы вы можете поручить Eclipse запускать плагин и при инкрементных сборках:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    

В Eclipse Luna 4.4.0 вы можете игнорировать эту ошибку в настройках

Окно > Предпочтения > Мавен > Ошибки /Предупреждения > Выполнение плагина, не охватываемое конфигурацией жизненного цикла.Выберите Игнорировать / Предупреждение / Ошибку как пожелаете.

Кроме того, в быстром исправлении (Ctrl + 1) этой ошибки есть возможность отметить цель как игнорируемую при сборке Eclipse в настройках Eclipse (экспериментальный вариант)

Это более чистый способ, так как он не изменяет ваш pom.xml.

Вам нужно будет выполнить Мавен > Проект обновления чтобы исправить ту же ошибку и в любом другом проекте.


В STS (Spring-tool-suite) вы можете игнорировать эту ошибку в настройках

Окно > Настройки > Maven > Ошибки / предупреждения > Выполнение плагина, не охватываемое конфигурацией жизненного цикла.Выберите Игнорировать / Предупреждение / Ошибку по вашему желанию.Затем.Щелкните правой кнопкой мыши проект, выберите Maven и обновите проект, после чего ошибка исчезнет.

Видишь https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .

Чтобы решить некоторые давние проблемы, m2e 1.0 требует четких инструкций что делать со всеми плагинами Maven привязан к "интересным" фазам жизненного цикла сборки проекта.Мы называем эти инструкции "отображение жизненного цикла сборки проекта " или просто "отображение жизненного цикла" потому что они определяют, как m2e отображает информацию из проекта pom.xml файла в проект Eclipse workspace конфигурацию и поведение во время Сборки Eclipse workspace.

Отображение жизненного цикла сборки проекта конфигурация может быть указана в project pom.xml, предоставленном Плагинами Eclipse, а также есть конфигурация по умолчанию для некоторых часто используемых плагинов Maven, поставляемых с m2e.Мы называем это "источниками метаданных для отображения жизненного цикла ".m2e создаст маркер ошибки, как показано ниже, для всех выполняемых плагинов, у которых нет сопоставления жизненного цикла ни в одном из источников метаданных сопоставления .

Plugin execution not covered by lifecycle configuration:
org.apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

m2e сопоставляет выполнение плагином с действиями, используя комбинацию идентификатора группы плагина, идентификатора артефакта, диапазона версий и цели.Есть три основных действия, которые m2e можно поручить выполнить с помощью плагина выполнение -- игнорировать, выполнить и делегировать участие в проекте конфигуратор.

m2e 0.13 вводит разъемы m2e и рыночная площадь m2e чтобы расширить возможности m2e.Это похоже на старый репозиторий m2e-extras.

Вы можете получить доступ к m2e market place из настроек: Настройки>Maven> Обнаружение> Открыть каталог.Установка Интеграция с WTP решил большинство проблем с плагинами для меня.

Измените настройки Maven для выполнения плагина с ошибки на игнорирование

Обратите внимание, что M2Eclipse (m2e) версии 1.7.0, доступный в сегодняшнем выпуске Eclipse Neon, поддерживает новый синтаксис для указания метаданных сопоставления жизненного цикла.В результате получается шаблон, подобный этому (здесь мы говорим 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>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

может быть заменен одной строкой в исполняющем узле плагина:

<?m2e ignore?>

enter image description here

Смотрите на примечания к выпуску за подробностями.

В качестве дополнения к предыдущим ответам - есть обходной путь, который я только что обнаружил, если вы не можете или не хотите добавлять весь этот шаблон в свой project POM.Если вы посмотрите в следующем месте:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

Вы должны найти файл под названием lifecycle-mapping-metadata.xml где вы можете внести те же изменения, описанные в других ответах и в Выполнение плагина M2E не предусмотрено.

У меня была такая же проблема с Eclipse v3.7 (Indigo) и m2eclipse, что и с моим плагином Maven.Ошибка была легко устранена путем явного указания фазы выполнения в определении плагина.Итак, мой помпон выглядит вот так:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...
  1. Перейдите в раздел Справка > Установка нового программного обеспечения...
  2. Используй это хранилище программного обеспечения

    Убедитесь, что установлен флажок "Обращаться ко всем сайтам обновления во время установки для поиска необходимого программного обеспечения".

  3. Установите конфигуратор AJDT m2e

Источник: Обновление интеграции Maven для SpringSource Tool Suite 2.8.0 (Эндрю Айзенберг)

Это должно автоматически установить ADJT, если у вас он не установлен, но если это не так, сначала установите AspectJ Development Tools (ADJT) с "Сайта обновления Indigo" (в соответствии с вашей версией Eclipse).

Более подробная информация о Сайт инструментов разработки AspectJ.

Гото workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml затем создайте lifecycle-mapping-metadata.xml запишите файл и вставьте его ниже, а затем перезагрузите конфигурацию, как показано ниже

Если вы используете Eclipse 4.2 и у вас проблемы с отображением, и вы не будете вносить беспорядок в свой pom.xml создать новый файл lifecycle-mapping-metadata.xml настройте его в Windows -> Preferences -> Lifecycle mapping (не забывайте нажимать Перезагрузку метаданных workspace lifecycle mappings после каждого изменения этого файла!).Вот пример, основанный на eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

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

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

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

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>

У меня была такая же проблема с indigo и проектом, которому необходимо генерировать исходные тексты Java из XSD.
Я мог бы исправить это, предоставив недостающее отображение жизненного цикла, как описано в эта страница

Я исправил это в следующем посте в блоге Обновление интеграции Maven для SpringSource Tool Suite 2.8.0.

Следуйте советам, приведенным в разделе под названием "oh...my проекты больше не строятся".Даже если он предназначен для набора инструментов SpringSource, я использовал его для исправления обычной установки Eclipse.Мне не нужно было изменять свои pom-файлы.

Использование m2e 0,12, последняя версия от Sonatype.

Эта ошибка возникает также на neon из-за отсутствия разъема m2e.Решение:наведите курсор на ошибку и выберите - Открыть новые разъемы m2e.

Он установит новый разъем, и все.

Я использовал

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

и изменил его на

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

и ошибка исчезла.Возможно, не рекомендуется привязывать выполнение к фазе тестовой компиляции, поэтому поиск другой фазы может быть альтернативным решением для добавления конфигурации управления плагинами в жизненный цикл maven.

Где найти WTP:

Наведите курсор мыши вниз на < плагин > в pom.xml и "Откройте для себя новые разъемы m2e".

Я установил их все, что проверено по умолчанию, и это работает.

У меня была точно такая же проблема после обновления m2e, и я решил ее, переустановив интеграцию Maven для Eclipse WTP.

Как оказалось, я удалил его, пытаясь обновить m2e с версии 0.x до 1.x

Сегодня у меня была такая проблема.Я использовал STS 3.4 с входящим в комплект Roo 1.2.4.Позже я попробовал использовать Eclipse Kepler и Roo 1.2.5, та же ошибка.

Я изменил свой тег pom.xml добавление pluginTemplates после сборки и перед объявлением плагинов, но это не сработало.

Что сотворило это волшебство для меня:

  • Использование jdk 1.7.0_51
  • Загруженный Roo 1.2.5
  • Загруженный Maven 3.2.1 (если нет, то при выполнении "выполнить eclipse" появляется эта ошибка "error = 2, такого файла или каталога нет")
  • Настроил каталоги JDK, Roo и Maven bin на моем ПУТИ:

    ПУТЬ экспорта=/opt/jdk1.7.0_51/bin:$PATH путь экспорта=/opt/spring-roo-1.2.5.RELEASE/bin:$PATH ПУТЬ ЭКСПОРТА=/opt/apache-maven-3.2.1/bin:$PATH

Сделал свою конфигурацию следующим образом:(http://docs.spring.io/spring-roo/reference/html/beginning.html)

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform eclipse

Откройте с помощью Eclipse (ничего от STS, но я думаю, это работает):Импорт -> Существующие проекты в рабочую область

Я столкнулся с точно такой же проблемой с плагином maven thrift.Вот мое решение, которое не требует необходимости портить ваш pom.xml:

  1. Используйте утилиту командной строки maven mvn

    mvn eclipse:затмение

    как создать проект eclipse

  2. Импортируйте проект в eclipse.Не забудьте использовать

    Файл > Импорт > Общие > Существующие проекты в рабочую область

    чтобы добавить проект в свою рабочую область.

Это должно устранить проблему.

Вместо того чтобы портить ваш pom-файл, я бы посоветовал вам перейти на Показать ВидМаркеры в Eclipse выберите и удалите маркеры соответствующих ошибок.

Если вы используете Eclipse Juno, это может быть проблемой Интеграция Maven Для Eclipse WTP .Поэтому установите то же самое с Eclipse Market Place.

В Eclipse IDE Справка>> Eclipse Market Place >> введите запрос wtp, и он покажет интеграцию maven для eclipse WTP для Juno, установите его и обновите зависимости maven и наслаждайтесь

Этот ответ так же хорош, как и вышеприведенный ответ по управлению плагинами (то есть он ужасен).

Просто удалите весь оскорбительный xml-код в pom.

Выполнено.Проблема решена (за исключением того, что вы только что сломали свою конфигурацию maven ...).

Разработчики должны быть очень осторожны, чтобы понять теги управления плагинами, прежде чем использовать любое из этих решений.Простое переключение управления плагинами вокруг ваших плагинов случайным образом, скорее всего, нарушит сборку maven для всех остальных, просто чтобы заставить eclipse работать.

вы можете подавить эту ошибку в eclipse:Окно -> Настройки -> Maven -> Ошибки / Предупреждения

Меняющийся

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

в

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

решил проблему за меня.

Я последовал подсказке графического интерфейса, чтобы найти любой соединитель, а затем нашел AspectJ Integrator из команды SpringSource.После установки все было улажено.

Я столкнулся с этим, используя Eclipse v4.3 (Kepler) и Maven 3.1.

Решение состоит в том, чтобы использовать JDK, а не JRE для вашего проекта Eclipse.Обязательно попробуйте maven clean и протестируйте из Eclipse только для загрузки отсутствующих файлов JAR.

Для меня это было вызвано классами AspectJ.Я не смог найти плагин в разделе Discovery, который мог бы помочь.Итак, я исправил это, скопировав файлы org.maven.ide.eclipse.ajdt в папках плагинов и функциональных возможностей существующей установки STS.

Я знаю, это очень грубый подход.

Я получил ту же ошибку.После выполнения следующих действий он исчез.

  1. Щелкните правой кнопкой мыши на проекте.
  2. Выберите Maven> Обновить проект...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top