Я пытаюсь работать с 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 через этот сайт обновления и по-прежнему получают ту же ошибку.
Какой беспорядок. Я не помню, где я нашел это, но мне пришлось добавить следующее, чтобы получить 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.
В моем случае аналогичной проблемы вместо использования предложения Эндрю для исправления она работала просто после того, как я ввел тег <pluginManagement> в рассматриваемый файл pom.xml. Похоже, эта ошибка связана с отсутствующим тегом <pluginManagement>. Итак, чтобы избежать исключений в Eclipse, нужно просто заключить все теги плагинов в тег <pluginManagement>, например:
<build>
<pluginManagement>
<plugins>
<plugin> ... </plugin>
<plugin> ... </plugin>
....
</plugins>
</pluginManagement>
</build>
Как только эта структура будет создана, ошибка исчезнет.
В Eclipse Luna 4.4.0 вы можете игнорировать эту ошибку в настройках.
Окно> Настройки> Maven> Ошибки/Предупреждения> Выполнение плагина, не охваченное конфигурацией жизненного цикла. Выберите Игнорировать/Предупреждение/Ошибка, как вы хотите.
Кроме того, в быстром исправлении (Ctrl + 1) для этой ошибки она дает возможность пометить цель как проигнорированную в Eclipse build в настройках Eclipse (экспериментальная)
Это более чистый способ, поскольку он не изменяет ваш pom.xml
.
Вам нужно будет выполнить проект Maven> Update, чтобы исправить ту же ошибку в любом другом проекте.
В STS (Spring-tool-suite) вы можете игнорировать эту ошибку в настройках
Окно> Настройки> Maven> Ошибки/Предупреждения> Выполнение плагина, не охваченное конфигурацией жизненного цикла. Выберите Игнорировать/Предупреждение/Ошибка как ваше желание. Затем. Щелкните правой кнопкой мыши проект, щелкните Maven и обновите проект, тогда ошибка исчезнет.
pluginmanagent
. Этот тег вызывает сбой моей сборки.
Самый быстрый способ решить это (из Документация Eclipse m2e):
используйте quick-fix при ошибке pom.xml и выберите Permanently mark goal run in pom.xml as ignored in Eclipse build
- это создаст для вас требуемый шаблонный код.
После этого просто замените тег <ignore/>
тегом <execute/>
в сгенерированной конфигурации, и вы закончите:
<action>
<execute/>
</action>
<runOnIncremental>false|true</runOnIncremental>
внутри тега execute, чтобы eclipse <runOnIncremental>false|true</runOnIncremental>
этот подключаемый модуль maven в инкрементных сборках.
См. 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 может быть поручено сделать с плагином исполнение - игнорировать, выполнить и делегировать проект конфигуратор.
m2e 0.13 вводят m2e коннекторы и m2e Market Place для расширения функций m2e. Это похоже на старый хранилище m2e-extras.
Вы можете получить доступ к рыночной площади m2e из настроек: Настройки > Maven > Открытие > Открыть каталог. Установка интеграции WTP решила большинство проблем с плагинами для меня.
Обратите внимание, что версия 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?>
Подробнее см. примечания к выпуску.
В качестве дополнения к предыдущим ответам - обходной путь, который я только что открыл, если вы не можете или не хотите добавлять весь этот шаблон в свой проект POM. Если вы посмотрите в следующем месте:
{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}
Вы должны найти файл с именем lifecycle-mapping-metadata.xml
, где вы можете внести те же изменения, что и в других ответах, и в Не удалось выполнить плагин M2E.
WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
вместо того, чтобы возиться с банками. Более подробную информацию можно найти в « Preferences > Maven > Lifecycle Mappings
. Также, если вы выберете быстрое исправление "Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)"
это добавит все необходимые изменения в вышеуказанный файл.
У меня была та же проблема с 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>
...
Измените настройки Maven для выполнения плагина из-за ошибки, чтобы игнорировать
Используйте этот репозиторий программного обеспечения
Убедитесь, что установлен флажок "Связаться со всеми сайтами обновления во время установки, чтобы найти необходимое программное обеспечение".
Установите конфигуратор AJDT m2e
Источник: Модернизация интеграции Maven для SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)
Это должно автоматически установить ADJT, если вы его не установили, но если это не так, установите средства разработки AspectJ (ADJT) сначала с сайта обновления Indigo (в соответствии с вашей версией Eclipse).
Дополнительная информация на сайте AspectJ Development Tools.
Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found
У меня была такая же проблема с индиго и проектом, который должен генерировать исходные коды Java из XSD.
Я мог бы исправить это, предоставив недостающее отображение жизненного цикла, как описано на этой странице
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>
Я исправил его после сообщения в блоге Модернизация интеграции Maven для SpringSource Tool Suite 2.8.0.
Следуйте советам в разделе под названием ". Ох... мои проекты больше не строят". Даже когда он предназначался для SpringSource Tool Suite, я использовал его для исправления обычной установки Eclipse. Мне не нужно было изменять мои файлы pom.
Используйте m2e 0.12, последнюю версию из Sonatype.
Эта ошибка возникает и на неоне из-за отсутствия соединителя m2e. Решение: hover error и выберите - Откройте новые соединители m2e.
Он установит новый соединитель, и все.
Где найти WTP:
Мышь вниз на < плагин > в pom.xml и "Откройте новые соединители 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.
У меня была такая же проблема после обновления m2e и была решена путем переустановки Maven Integration для Eclipse WTP.
Как оказалось, я удалил его, пытаясь обновить m2e с версии 0.x до 1.x
У меня была эта проблема сегодня. Я использовал STS 3.4 с комплектом Roo 1.2.4. Позже я попытался с Eclipse Kepler и Roo 1.2.5, с той же ошибкой.
Я изменил свой pom.xml, добавив тег pluginTemplates после сборки и перед объявлением плагинов, но не работал.
Что сделало магию для меня:
Конфигурированные каталоги 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, но я думаю, что это работает): Импорт → Существующие проекты в рабочее пространство
Вместо того, чтобы испортить ваш файл pom, я предлагаю вам перейти к Show View → Markers in Eclipse, выбрать и удалить маркеры соответствующих ошибок.
вы можете подавить эту ошибку в eclipse: Окно → Настройки → Maven → Ошибка/предупреждения
Этот ответ так же хорош, как и верхний ответ управления плагином (что означает, что это ужасно).
Просто удалите все повреждающие xml-коды в pom.
Готово. Проблема решена (за исключением того, что вы просто сломали вашу конфигурацию maven...).
Devs должны быть очень осторожны, чтобы понимать теги управления плагинами перед выполнением любого из этих решений. Просто похлопывание плагинов-управление вокруг ваших плагинов случайным образом, скорее всего, приведет к нарушению сборки maven для всех остальных, чтобы заставить eclipse работать.
Я получил ту же ошибку. Сделав следующее, он ушел.
Я столкнулся с той же проблемой с плагином maven. Здесь мое решение, которое не требует испортить ваш pom.xml:
Использование командной строки maven mvn
mvn eclipse: eclipse
для создания проекта eclipse
Импортировать проект в eclipse. Не забудьте использовать
Файл > Импорт > Общие > Существующие проекты в рабочее пространство
чтобы добавить проект в рабочее пространство.
Это должно устранить проблему.
Если вы используете Eclipse Juno, это может быть проблема Maven Integration для Eclipse WTP. Поэтому установите его с сайта Eclipse Market Place.
В Eclipse IDE Справка → Eclipse Market Place → введите запрос wtp, и он покажет интеграцию maven для eclipse WTP для Juno, установите его и обновите зависимости maven и наслаждайтесь
Я столкнулся с этим, используя Eclipse v4.3 (Kepler) и Maven 3.1.
Решение заключается в использовании JDK, а не JRE для вашего проекта Eclipse. Обязательно попробуйте maven clean
и протестируйте Eclipse только для загрузки отсутствующих файлов JAR.
Я следил за подсказкой GUI, чтобы найти какой-либо разъем, а затем нашел AspectJ Integrator из команды SpringSource. После установки было установлено.
Изменение
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>
в
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
решил проблему для меня.
Попробуйте переключиться на новое рабочее пространство и снова импортировать все проекты. Работает отлично!
Я встречаюсь с этой проблемой в течение многих лет... стыдно затмение. Если ваше приложение разделено на maven-модули, вы можете рассмотреть возможность удаления затронутых модулей из среды IDE, когда вам нужно регенерировать/запускать плагин, используя командную строку maven с install
, тогда eclipse доволен подготовленными артефактами, присутствующими в вашем локальном репозитории. Нет необходимости в скрипке.
Для меня это было вызвано классами AspectJ. Я не мог найти плагин под Discovery, который мог бы помочь. Таким образом, я исправил это, скопировав файлы org.maven.ide.eclipse.ajdt под плагинами и папками функций существующей установки STS.
Я знаю, очень грубый подход.
Ошибка возникает, когда вы используете фазу жизненного цикла, которая не поддерживается плагином. Таким образом, исправление заключается в изменении фазы жизненного цикла, которая работает с плагином.
Я мог бы решить эту проблему, используя Eclipse Plugin и обновив конфигурацию и зависимости.