Як вирішити "Виконання плагінів, не охоплених конфігурацією життєвого циклу" для Spring Data Maven Builds


907

Я намагаюся працювати з Spring Data і Neo4j . Я розпочав, намагаючись дотримуватися цього посібника, пов’язаного з головним сайтом. Зокрема, я базував свою програму pom.xml на "Привіт, світ!" Приклад файлу . Ось фрагмент мого 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 (Графік) використовував maven2 для процесу збирання (здебільшого через проблеми з docbook-плагінами). (BTW. Проекти весняних даних незабаром перейдуть до градле :)
Майкл Голод

1
Для затемнення я використовую вбудований модуль 3.0.3 (що поставляється з m2e). Чи все Spring переходить на gradle чи просто Spring Data?
Ендрю Білий

1
Забудьте про це, працюючи з Groovy. Який кошмар. Зараз я навіть не можу використовувати Індіго через цю травестію.
Спенсер Кормос

Чи може хтось поділитися посиланням на місце, яким цей новий режим роботи для M2E задокументований?
HDave

Відповіді:


1336

У моєму випадку подібна проблема, замість того, щоб використовувати пропозицію Ендрю для виправлення, вона працювала просто після того, як я ввів тег <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. Я спробував це рішення, але він потім розриває компіляцію, оскільки плагін аспекту не викликається перед компіляцією.
П’єр

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

33
Errrr ... Схоже, це працює лише тому, що він вимикає всі плагіни, про які йдеться ..... Виведення їх цілком би також спрацювало, але я припускаю, що вони там є чомусь? Розробники повинні переконатися, що вони абсолютно розуміють, що вони роблять з Maven, перш ніж використовувати це "виправлення".
Майкл Хефеле

413

Який безлад. Я не пам’ятаю, де я це знайшов, але мені довелося додати наступне, щоб 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: плагін життєвого циклу?
Натан Фегер

6
Якщо ваше затемнення не може знайти org.eclipse.m2e: плагін для відображення життєвого циклу, це тому, що ви поставили фрагмент вище в неправильному списку плагінів у пам’яті, він повинен перейти під pluginManagement
mkraemerx

65
Примітка: m2e 1.x може зробити це автоматично як швидке виправлення з виду "Проблеми"
Brad Cupit

7
Дякую: m2e запропонував мені «швидке виправлення» для плагіна, який він не розпізнав, який генерував усе вище, крім <ignore /> замість <Execute />. Він не пропонує опцію <Execute />, яка працює! Божевілля!
laher

10
Так, <pluginmanagement> речі підпадають під <build>. Ви можете подумати, що сторінка м2 згадує цю дрібницю.
jjohn

217

У програмі Eclipse Luna 4.4.0 ви можете ігнорувати цю помилку в налаштуваннях

Вікно > Налаштування > Maven > Помилки / попередження > Виконання плагіна, не охоплене конфігурацією життєвого циклу . Виберіть Ігнорувати / Попередження / Помилка за своїм бажанням.

Крім того, у швидкому виправленні (Ctrl + 1) для цієї помилки надається можливість позначити мету як ігноровану в налаштуваннях Eclipse в налаштуваннях Eclipse (експериментальна)

Це більш чистий спосіб, оскільки він не змінює ваш pom.xml.

Вам потрібно буде зробити проект Maven > Update, щоб виправити ту ж помилку, що і в будь-якому іншому проекті.


У STS (Spring-tool-set) ви можете ігнорувати цю помилку в налаштуваннях

Вікно> Налаштування> Maven> Помилки / попередження> Виконання плагіну, не охоплене конфігурацією життєвого циклу. Виберіть Ігнорувати / Попередження / Помилка за своїм бажанням. Тоді. Клацніть правою кнопкою миші проект, натисніть Maven та оновіть проект, тоді помилка піде.


Ідеально. Працювали для мене бездоганно. Дякую, що поділились.
Аджай Кумар

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

Це правильна відповідь. Дякую. Я використовую Red Hat CodeReady Studio, який є інструментом на основі Eclipse.
Ігор Вукович

Заставка на день .. :) Це рішення працювало на мене.
Джетендра

Як це виправити? Замість того, щоб Eclipse скаржився, що не генерує мій вихідний код (позначаючи рядок у POM.XML червоним X та повідомленням про помилку "Виконання плагіну, не охоплене конфігурацією життєвого циклу"), при цьому зміна Eclipse просто мовчки не генерує мій вихідний код.
mbmast

212

Пропоноване рішення з документації 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>

6
Також ви можете додати <runOnIncremental>false|true</runOnIncremental>всередину тег Execute, щоб зробити затемнення викликати цей плагін Maven на поступових складах.
Маттіас Б

4
Це рішення працювало і для мене, але не потрібно було виконувати крок 2) запропонованого рішення.
Валеріо Скіавоні

7
Якщо ви не позначите їх як "виконати", збірка затемнення не виконає виконання цих плагінів, але це може також працювати.
мр

Зауважте, що ви також можете додати його глобально до 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 відповідає виконанню плагіну дій, що використовують комбінацію плагінів groupId, artifactId, діапазону версій та цілі. Є три основні дії, яким m2e можна доручити виконувати плагін - ігнорувати , виконувати та делегувати конфігуратору проекту .


93
Це пояснення проблеми, а не рішення, принаймні, не таке, з яким я можу прийняти та працювати.
Ендрю Уайт

53
Ви відповіли самі, і це можна знайти на сторінці, на яку я пов’язаний. Якщо вам важливіше зрозуміти, що означає помилка (а потім легко знайти, як її виправити), ніж сліпо скопіювати / вставити деякі фрагменти. "Наука без совісті - це лише руйнування душі". (Франсуа Рабле)
Томас Броер

22
Вибачте, але я погоджуюся з Андрієм, використовувати цей плагін набагато складніше, ніж слід. Я запускав нову програму, і спершу я хоч проблема була у моєму порошковому файлі, саме коли я спробував порошок, який я знаю, що він повинен працювати, я побачив, що ця проблема викликана m2e. Вибачте, хлопці, але я думаю, що хороший файл порошку повинен просто працювати. Ніхто не знає все про все, я просто хочу використовувати цей плагін, не хочу знати, як він працює.
Ней

15
Я маю згоду, що це пішло протилежним чином маніфесту Мавена (так би мовити). Це робить просту річ настільки складною, що навіть читаючи все про неї, я не можу змусити її працювати половину часу. Мені б набагато, набагато скоріше довелося мати справу з якоюсь індивідуальною синдикацією, ніж мати справу з плагінами, не прив’язаними до фаз життєвого циклу, коли вони повинні. Якщо це тимчасове рішення, то добре ... але виправте це, оскільки воно порушено зараз.
Брілл Паппін

13
Це не Мевен, який вилазить. Будує з роботи командного рядка. Це плагін m2eclipse (побудований фольклорним Eclipse), який викриває помилку. Я думаю, проблема полягає в тому, що Maven має інший життєвий цикл побудови, ніж Eclipse, тому вони потребують вас, щоб зробити явне відображення. Це великий ганьба, оскільки це означає, що ви, очевидно, ніколи не можете використовувати POM такі, які є. Ви завжди повинні додати це відображення ....
Штійн де Вітт

30

m2e 0,13 введіть з'єднувачі m2e та m2e Market Place для розширення функцій m2e. Це як у старому сховищі m2e-extras.

Ви можете отримати доступ до ринку m2e за допомогою налаштувань: Налаштування> Maven> Discovery> Open Catalog . Встановлення 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

Зауважте, що версія 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?>

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

Докладніше див. Примітки до випуску .


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)"воно додасть усі необхідні зміни до вищевказаного файлу.
Нуфаїл

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 (ADJT) спочатку з "сайту оновлення Indigo" (відповідно до вашої версії Eclipse).

Більше інформації на сайті Інструменти розвитку AspectJ .


Я спробував це, але у мене виникла помилка: 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
Махмуд Салех

Мсале, спробуй мою переглянуту відповідь
Хенді Іраван

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

У мене була така ж проблема з indigo та проектом, який повинен генерувати джерела Java з XSD.
Я міг би це виправити, надавши відсутнє відображення життєвого циклу, як описано на цій сторінці


8

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

Дотримуйтесь порад у розділі " Ух о ... мої проекти вже не будуються ". Навіть коли він призначений для SpringSource Tool Suite, я використовував його для виправлення звичайної установки Eclipse. Мені не довелося змінювати свої файли з пом.


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:

Наведіть курсор миші на <плагін> у 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
  • Завантажено Maven 3.2.1 (якщо ні, при виконанні "виконувати затемнення" ця помилка з'являється "помилка = 2, такого файлу чи каталогу немає")
  • Налаштовані каталоги JDK, Roo та Maven bin на моїй PATH:

    експортувати PATH = / opt / jdk1.7.0_51 / bin: $ PATH експортувати PATH = / opt / весна-roo-1.2.5. РЕЛІЗ / бін: $ PATH експортувати PATH = / opt / apache-maven-3.2.1 / bin : $ ПАТ

Зробив мою конфігурацію наступним чином: ( 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. Імпортуйте проект у затемнення. Не забудьте використовувати

    Файл> Імпорт> Загальне> Існуючі проекти в робочу область

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

Це має вирішити проблему.


2

Замість того, щоб зіпсувати ваш файл пам’яті, я б запропонував вам перейти до Show ViewMarkers in Eclipse, вибрати та видалити маркери відповідних помилок.


Grrr, я ненавиджу вибирати між двома злами. Додавання безлічі ліній сміття до пом = погано. Ваш шлях = також поганий, тому що він знову з'являється (щоразу, коли ви економите пом.), І я повинен сказати всім, що це нормально.
Iain

1

Якщо ви використовуєте Eclipse Juno, це може бути проблемою інтеграції Maven For Eclipse WTP . Тому встановіть те саме з Eclipse Market Place.

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


1

Я отримав таку ж помилку. Зробивши наступне, він пішов.

  1. Клацніть правою кнопкою миші на проекті.
  2. Виберіть Maven> Update Project ...

1

Ця відповідь настільки ж хороша відповідь верхнього плагіну управління (що означає, це жахливо).

Просто видаліть всі кривдні коди XML у пам’яті.

Зроблено. Проблема вирішена (за винятком того, що ви просто зламали свою конфігурацію 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.