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

Я пытаюсь работать с Spring Data и Neo4j. Я начал с попытки следовать этому руководству, связанному с основным сайтом. В частности, я основал свой pom.xml с "Hello, World!" пример файла. Вот отрезок из моего 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 через этот сайт обновления и по-прежнему получают ту же ошибку.

Ответы

Ответ 1

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

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

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

Ответ 2

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

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin 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.

Ответ 3

Предлагаемое решение из документации 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>
    

Ответ 4

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

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

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

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

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


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

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

Ответ 5

См. https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html.

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

Отображение жизненного цикла сборки проекта конфигурация может быть указана в 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 соответствует плагину выполнение действий с использованием сочетание плагина groupId, artifactId, диапазон версий и цель. Существует три основных действия: m2e может быть поручено сделать с плагином исполнение - игнорировать, выполнить и делегировать проект конфигуратор.

Ответ 6

m2e 0.13 вводят m2e коннекторы и m2e Market Place для расширения функций m2e. Это похоже на старый хранилище m2e-extras.

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

Ответ 7

Обратите внимание, что версия M2Eclipse (m2e) версии 1.7.0, доступная в текущем выпуске Eclipse Neon, поддерживает новый синтаксис для определения метаданных отображения жизненного цикла. В результате подобный шаблон (здесь мы говорим m2e, чтобы игнорировать цель):

<pluginManagement>
  <plugins>
    <!--This plugin 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>

можно заменить одной строкой в ​​выполнении плагина node:

<?m2e ignore?>

введите описание изображения здесь

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

Ответ 8

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

Ответ 9

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

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

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

Ответ 10

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

<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>
        ...

Ответ 11

  • Перейдите в раздел Справкa > Установить новое программное обеспечение...
  • Используйте этот репозиторий программного обеспечения

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

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

Источник: Модернизация интеграции Maven для SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

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

Дополнительная информация на сайте AspectJ Development Tools.

Ответ 12

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

Ответ 13

Goto 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 (не забудьте нажать "Обновить метаданные отображения жизненного цикла рабочей среды" после каждого изменение этого файла!). Вот пример, основанный на 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>

Ответ 14

Я исправил его после сообщения в блоге Модернизация интеграции Maven для SpringSource Tool Suite 2.8.0.

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

Ответ 15

Используйте m2e 0.12, последнюю версию из Sonatype.

Ответ 16

Эта ошибка возникает и на неоне из-за отсутствия соединителя m2e. Решение: hover error и выберите - Откройте новые соединители m2e.

Он установит новый соединитель, и все.

Ответ 17

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

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

Ответ 18

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

<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.

Ответ 19

Где найти WTP:

Мышь вниз на < плагин > в pom.xml и "Откройте новые соединители m2e".

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

Ответ 20

У меня была эта проблема сегодня. Я использовал 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", появляется эта ошибка "ошибка = 2, нет такого файла или каталога" )
  • Конфигурированные каталоги bin JDK, Roo и Maven на моем PATH:

    export PATH =/opt/jdk1.7.0_51/bin: $PATH экспорт PATH =/opt/spring -roo-1.2.5.RELEASE/bin: $PATH export 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, но я думаю, что это работает): Импорт → Существующие проекты в рабочее пространство

Ответ 21

Вместо того, чтобы испортить ваш файл pom, я предлагаю вам перейти к Show View → Markers in Eclipse, выбрать и удалить маркеры соответствующих ошибок.

Ответ 22

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

  • Использование командной строки maven mvn

    mvn eclipse: eclipse

    для создания проекта eclipse

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

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

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

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

Ответ 23

Изменение

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

в

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

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

Ответ 24

Я следил за подсказкой GUI, чтобы найти какой-либо разъем, а затем нашел AspectJ Integrator из команды SpringSource. После установки было установлено.

Ответ 25

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

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

Ответ 26

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

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

Ответ 27

Этот ответ так же хорош, как и верхний ответ управления плагином (что означает, что это ужасно).

Просто удалите все повреждающие xml-коды в pom.

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

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

Ответ 28

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

Ответ 29

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

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

Ответ 30

Я получил ту же ошибку. Сделав следующее, он ушел.

  • Щелкните правой кнопкой мыши проект.
  • Выберите Maven > Обновить проект...