Выполнение плагина не распространяется на ошибку конфигурации жизненного цикла в eclipse с помощью pluginManagement в родительском помпе
У меня есть jaxws-maven-plugin в родительском pom.xml в теге pluginManagement, и я имею в виду этот плагин в дочернем помпе.
mvn clean install работает нормально. Но, eclipse жалуется, что
"Выполнение плагина не покрывается конфигурацией жизненного цикла: org.codehaus.mojo: jaxws-maven-plugin: 1.12: wsimport (исполнение: FirstWsdl, phase: generate-sources)".
Не могли бы вы предложить, как избежать этой ошибки в eclipse?
родительский pom
<pluginManagement>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>FirstWsdl</id>
<goals>
<goal>wsimport</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<wsdlLocation>location/file.wsdl</wsdlLocation>
<wsdlFiles>
<wsdlFile>file.wsdl</wsdlFile>
</wsdlFiles>
<packageName>com.xxx.package</packageName>
</configuration>
</execution>
</executions>
<configuration>
<sourceDestDir>${basedir}/generated</sourceDestDir>
<verbose>true</verbose>
<extension>true</extension>
<keep>true</keep>
<vmArgs>
<vmArg .../>
</vmArgs>
</configuration>
</plugin>
...
</plugins>
</pluginManagement>
ребенок pom
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
</plugin>
</plugins>
Я рассмотрел этот вопрос и ответил Как решить "Выполнение плагина, не охватываемое конфигурацией жизненного цикла" для Spring Data Maven Builds, но следует ли использовать pluginManagement как в родительском, так и в дочернем помпе, чтобы избежать этой ошибки?
Ответы
Ответ 1
Это должно быть:
-
зарегистрированный на странице wiki Выполнение плагина M2E не распространяется:
Отображение жизненного цикла сборки проекта может быть сконфигурировано в проекте pom.xml
, внесенном плагинами Eclipse, или по умолчанию используется для обычных плагинов Maven, поставляемых с m2e.
Мы называем эти " источники метаданных сопоставления жизненного цикла".
m2e создаст маркер ошибки, как показано ниже для всех плагинов, которые не имеют отображения жизненного цикла в любом из источников метаданных сопоставления.
-
показано в разделе Как решить "Выполнение плагина, не охватываемое конфигурацией жизненного цикла" для Spring Data Maven Builds" (что вы ссылаетесь).
- либо путем добавления lifecycleMappingMetadata в родительском pom.
- или путем включения плагинов с тегом
<pluginManagement>
(в обоих pom).
Этот поток добавляет дополнительную информацию к вашему конкретному сообщению об ошибке:
если посмотреть в Eclipse-UI в свойствах проекта в разделе "Maven" → "Lifecyle Mapping" (отметьте флажок "Показывать фазы жизненного цикла" и отключить "Показать игнорируемые исполнения" ), я вижу следующий контент.
Насколько я понимаю, этот файл показывает отображение между жизненным циклом сборки Eclipse (runtime/incremental) и связанными с ним плагинами Maven.
В настоящее время он не содержит плагин "jax-ws
", соответственно его цель "wsimport
".
Проблема в том, что у вас есть плагин jax-ws
, объявленный в разделе pluginManagement
.
Чтобы получить привязку к фазе, она должна быть в build/plugins.
Выполнение сборки Maven из CLI тоже не сработает, поэтому я подозреваю, что вы не выполняете стандартную "mvn install"?
Чтобы выполнить исполнение Maven из Eclispe, вам не нужно ничего делать.
Но если вы хотите иметь инкрементную/временную поддержку в среде IDE, вы должны получить соответствующий соединитель m2e. Если вы посмотрите на pom в редакторе POM в Eclipse, выполнение плагина должно быть помечено красной ошибкой X. Наведите курсор на это, и вы должны получить опцию для его поиска ( "Откройте новые соединители m2e" ).
Ответ 2
Если вы не можете найти connectio, вы можете отключить эту ошибку в eclipse
потому что в документации говорится:
Чтобы выполнить выполнение Maven из Eclispe, вам не нужно ничего делать.
то перейдите в Eclipse: Preferences -> Maven -> Error/Warnings
и измените параметр "Ошибка на предупреждение" в опции: Plugin execution not converted by lifecycle configuration
Ответ 3
https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html - это оригинальная страница, которая объясняет все это. Определить его в родительском должно быть достаточно для его детей.
Ответ 4
Перейдите в pom.xml и щелкните правой кнопкой мыши> Добавить зависимость> введите идентификатор группы и Идентификатор артефакта нажмите кнопку ОК. Это решит проблему "Плагин, не охватываемый жизненным циклом".