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


907

Я пытаюсь работать с 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
Какую версию Maven вы используете? Spring Data (Graph) использует maven2 для процесса сборки (в основном из-за проблем с плагином docbook). (Кстати, весенние проекты данных скоро перейдут на gradle :)
Майкл

1
Для затмения я использую 3.0.3 интегрированный Maven (что бы ни поставляется с m2e). Вся Spring переходит на gradle или только Spring Data?
Эндрю Уайт

1
Забудьте об этом, работая с Groovy. Какой кошмар. Я даже не могу использовать Индиго из-за этой пародии.
Спенсер Кормос

Кто-нибудь может поделиться ссылкой на место, где задокументирован этот новый режим работы для M2E?
HDave

Ответы:


1337

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

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

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


29
У меня тоже работает, но кто-нибудь может объяснить почему?
Эндрю Свон

89
@ Andrew Я думаю, что это работает, потому что m2e ищет плагины не в pluginManagement, а только в build/plugins. В мире Maven существует различие между этими двумя понятиями: первый определяет, «если вам случится использовать этот плагин, вот конфигурация для использования», тогда как последний заявляет «использовать этот плагин». Смотрите этот пост и два его лучших ответа.
GreenGiant

30
Я согласен с @GreenGiant. Я попробовал это решение, но затем оно нарушает компиляцию, так как плагин aspectj не вызывается перед компиляцией.
Пьер

25
Не действует для меня. Исправляет ошибку в Eclipse, но прерывает генерацию кода WS с помощью <goal> wsimport с использованием jaxws-maven-plugin. «Постоянно пометьте цель wsimport в pom.xml как проигнорированную в сборке Eclipse», похоже, добавляет больше материала в pom.xml и исправляет его для m2e.
племянник

33
Errrr ... Похоже, что это работает только потому, что он отключает все плагины, о которых идет речь ..... Полностью вынуть их тоже будет работать, но я предполагаю, что они там по какой-то причине? Разработчики должны убедиться, что они полностью понимают, что они делают с Maven, прежде чем использовать это «исправление».
Майкл Хэфеле

414

Какой беспорядок Я не помню, где я нашел это, но я должен был добавить следующее, чтобы 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 .


3
В каком хранилище плагинов находится плагин org.eclipse.m2e: lifecycle-mapping?
Натан Фегер

6
Если ваше затмение не может найти org.eclipse.m2e: плагин для отображения жизненного цикла, то это потому, что вы поместили фрагмент выше в неправильный список плагинов в pom, он должен перейти под pluginManagement
mkraemerx

65
примечание: m2e 1.x может сделать это автоматически в качестве быстрого решения из представления «Проблемы»
Брэд Купит,

7
Спасибо: m2e предложил мне 'quickfix' для плагина, который он не распознал, который сгенерировал все вышеперечисленное, за исключением <ignore /> вместо <execute />. Он не предлагал опцию <execute />, которая работает! Maddening!
Лахер

10
Да, <pluginmanagement> находится в разделе <build>. Вы могли бы подумать, что страница м2 упомянет эту мелочь.
Джон

217

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

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

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

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

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


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

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


Отлично. У меня сработало без нареканий. Спасибо, что поделился.
Аджай Кумар

Я использовал это также в eclipse 2020-03, я не уверен, почему ошибка появилась на этот раз, когда я импортировал проект, я делал это раньше, по крайней мере, 4 раза на других компьютерах без каких-либо проблем. Я новичок в затмении, я должен сказать, что я все еще понимаю, как он строит вещи, какие из них и когда :-D
Фундер

Это правильный ответ. Спасибо. Я использую Red Hat CodeReady Studio, которая основана на Eclipse.
Игорь Вукович

День заставки .. :) Это решение работало для меня.
Джитендра

Как это исправить? Вместо того, чтобы Eclipse жаловался, что он не генерирует мой исходный код (помечая строку в POM.XML красным X и сообщением об ошибке «Выполнение плагина, не охватываемое конфигурацией жизненного цикла»), с этим изменением Eclipse просто молча не генерирует мой исходный код.
mbmast

212

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

  1. Используйте quick-fix для ошибки в 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>

6
Также вы можете добавить <runOnIncremental>false|true</runOnIncremental>внутрь тега execute, чтобы eclipse вызывал этот плагин maven для инкрементных сборок.
Матиас Б

4
Это решение также работало для меня, но не было необходимости выполнять шаг 2) предложенного обходного пути.
Валерио Скьявони

7
Если вы не отметите их как «execute», сборка eclipse не будет запускать эти исполнения плагина, но она также может работать.
mrod

Обратите внимание, что вы также можете добавить его глобально в Eclipse Permanently mark goal run in eclipse preferencesи изменить <ignore> на <execute> в настройках Eclipse> Maven> Отображения жизненного цикла> Открыть метаданные отображений жизненного цикла рабочей области .
PhoneixS

2
Спасибо, это актуальное решение. Добавление тега <pluginManagement> отключает только плагин.
user3804769

111

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

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

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


93
Это объяснение проблемы, а не решение, по крайней мере, не то, которое я могу взять и работать с ним.
Эндрю Уайт

53
Вы сами дали ответ, и его можно найти на странице, на которую я ссылался. Если для вас важнее понять, что означает ошибка (а затем легко найти способ ее исправить), чем слепо копировать / вставлять некоторые фрагменты. «Наука без совести - это всего лишь гибель души». (Франсуа Рабле)
Томас Бройер

22
Извините, но я согласен с Эндрю, использовать этот плагин гораздо сложнее, чем должно быть. Я запускал новое приложение, и сначала я подумал, что проблема была в моем файле pow, и когда я попробовал файл pow, который, как я знаю, должен работать, я увидел, что эта проблема была вызвана m2e. Извините, ребята, но я думаю, что хороший файл Pow должен просто работать. Никто не знает все обо всем, я просто хочу использовать этот плагин, не хочу знать, как он работает.
Nei

15
Я должен согласиться, что это пошло вразрез с манифестом Maven (так сказать). Это делает простую вещь настолько сложной, что даже читая все об этом, я не могу заставить ее работать половину времени. Я бы предпочел иметь дело с какой-то особенной идиосинкразией, чем с плагинами, не связанными с фазами жизненного цикла, когда они должны. Если это временное решение, тогда хорошо ... но исправить это, потому что сейчас оно сломано.
Брилл Паппин

13
Это не Мэйвен, который сходит с ума. Сборки из командной строки работают. Это плагин m2eclipse (созданный людьми из Eclipse), который издает ошибку. Я думаю, проблема в том, что у Maven жизненный цикл сборки отличается от Eclipse, поэтому им нужно, чтобы вы сделали явное сопоставление. Это большой позор, поскольку это означает, что вы, очевидно, никогда не сможете использовать POM такими, какие они есть. Вы всегда должны добавлять это отображение ....
Stijn de Witt

30

m2e 0.13 вводит разъемы m2e и m2e Market Place для расширения возможностей m2e. Это как старый репозиторий m2e-extras.

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


1
Я не вижу "WTP интеграция" в списке. Вы используете какой-то нестандартный каталог?
Эд Стауб

Я использую каталог по умолчанию, но вы правы: я его больше не вижу.
noirbizarre

1
community.jboss.org/en/tools/blog/2011/06/23/… . Смотрите обновление 2, в любом случае +1 для большого беспорядка
prusswan

2
по состоянию на ноябрь 2011 г. m2e wtp можно найти на Eclipse Marketplace
stivlo

1
Это работает, добавьте сайт обновлений с этого URL: download.jboss.org/jbosstools/updates/m2eclipse-wtp

27

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


2
Действительно настоятельно рекомендую, чтобы это был новый принятый ответ. Многие другие решения не позволят Maven полностью запустить плагин на указанном этапе сборки, что редко требуется пользователю. Обычно это проблема конфигурации, а не фактическая ошибка. По умолчанию Eclipse должен быть предупреждением, а не ошибкой.
Ник Страгуцци,

26

Обратите внимание, что версия 1.7.0 M2Eclipse (m2e), доступная в сегодняшнем выпуске 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?>

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

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


21

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

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

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


6
Вы также можете редактировать 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)"оно добавит все необходимые изменения в вышеуказанный файл.
Nufail

17

У меня была та же проблема с 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>
        ...

10
  1. Перейдите в «Справка»> «Установить новое программное обеспечение ...»
  2. Использовать этот программный репозиторий

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

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

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

Это должно автоматически установить ADJT, если у вас не установлено, но если это не так, сначала установите AspectJ Development Tools (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
Махмуд Салех

Msaleh, попробуйте мой исправленный ответ
Hendy Irawan

9

Перейти 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>

9

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


8

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

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


1
Последний ресурс - это возврат к более старой версии m2e или используемой вами IDE.
Чепеч


5

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

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


4

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

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


4

Где найти WTP:

Наведите курсор мыши на <plugin> в pom.xml и «Откройте для себя новые коннекторы m2e».

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


4

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

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


3

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

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


2

Я столкнулся с точно такой же проблемой с плагином Maven Thrift. Вот мое решение, которое не требует путаницы с вашим pom.xml:

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

    mvn eclipse: затмение

    создать проект затмения

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

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

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

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


2

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


Гррр, я ненавижу выбирать между двумя пороками. Добавление десятков строк мусора в pom = плохо. Ваш путь = тоже плохой, потому что он продолжает появляться (каждый раз, когда вы сохраняете пом), и я должен сказать всем, что это нормально.
Иэн

1

Если вы используете Eclipse Juno, это может быть проблемой Maven Integration For Eclipse WTP . Так что установите то же самое с Eclipse Market Place.

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


1

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

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

1

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

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

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

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



1

изменения

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

в

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

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


1

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

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


1

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


0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.