Выполнение плагина не распространяется на ошибку конфигурации жизненного цикла в eclipse с помощью pluginManagement в родительском помпе - программирование
Подтвердить что ты не робот

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

4b9b3361

Ответ 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

Ответ 4

Перейдите в pom.xml и щелкните правой кнопкой мыши> Добавить зависимость> введите идентификатор группы и Идентификатор артефакта нажмите кнопку ОК. Это решит проблему "Плагин, не охватываемый жизненным циклом".