Выполнение Eclipse Maven Error Plugin не охвачено конфигурацией жизненного цикла:

Я использую Eclipse Juno с Maven 3.0.5 в Windows 7. Ранее проект был в Windows XP, и я перешел на 64-разрядную машину с Windows 7.

Я скопировал свой проект Eclipse Spring 3, Hibernate 4 и JSF 2.0, и когда я пытаюсь скомпилировать, я получаю следующую ошибку

Plugin execution not covered by lifecycle configuration: 
org.bsc.maven:maven-processor-plugin:2.0.6:process (execution: process, phase: 
generate-sources)

Я пробовал, как указано в этом поток, добавив следующее в файл Eclipse.ini, однако это не решило проблему.

-vm
c:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll

Пробовал собрать maven, установить и очистить, но проблема все еще сохраняется.

Как я могу решить эту проблему? Любая помощь очень ценна.

Спасибо

Фрагмент Maven

<plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>              
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <compilerArgument>-proc:none</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.bsc.maven</groupId>
                <artifactId>maven-processor-plugin</artifactId>
                <version>2.0.6</version>
                <executions>
                    <execution>
                        <id>process</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <phase>generate-sources</phase>
                        <configuration>
                            <!-- source output directory -->
                            <outputDirectory>target/metamodel</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

person Jacob    schedule 09.05.2013    source источник
comment
Вы пробовали использовать обновленную версию плагина процессора maven (например, 2.2.1)?   -  person willome    schedule 13.05.2013
comment
Вероятно, вы также изменили установку eclipse. Взгляните на этот ответ. Я предполагаю, что это проблема, и выполнение mvn из командной строки работает нормально.   -  person FrVaBe    schedule 25.05.2013


Ответы (1)


Более новые версии m2e жалуются, если подключаемый модуль Maven не обеспечивает сопоставление жизненного цикла m2e. Более новые подключаемые модули предоставляют такое сопоставление через файл META-INF/m2e/lifecycle-mapping-metadata.xml в своем JAR-файле. Если этого файла нет, то Eclipse жалуется.

Эти жалобы можно устранить, добавив в POM сопоставление жизненного цикла для старых плагинов. В данном примере это сопоставление выполняется внутри профиля, который автоматически активируется при запуске сборки в Eclipse (установлено свойство m2e.version) и не активен при выполнении обычной сборки maven.

<profiles>
  <profile>
    <id>m2e</id>
    <activation>
      <property>
        <name>m2e.version</name>
      </property>
    </activation>
    <build>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
              <lifecycleMappingMetadata>
                <pluginExecutions>
                  <pluginExecution>
                    <pluginExecutionFilter>
                      <groupId>org.bsc.maven</groupId>
                      <artifactId>maven-processor-plugin</artifactId>
                      <versionRange>[2.0.6,)</versionRange>
                      <goals>
                        <goal>process</goal>
                      </goals>
                    </pluginExecutionFilter>
                    <action>
                      <ignore />
                    </action>
                  </pluginExecution>
                </pluginExecutions>
              </lifecycleMappingMetadata>
            </configuration>
          </plugin>         
        </plugins>
      </pluginManagement>
    </build>
  </profile>

Пример выше отключает плагин в сборках Eclipse. Его также можно включить, указав <execute /> в качестве действия.

Имейте в виду, что настройки в разделе pluginExecutionFilter должны соответствовать подключаемому модулю и его целям, которые вы хотите сопоставить. Для сопоставления различных подключаемых модулей можно указать несколько элементов pluginExecution.

person rec    schedule 27.01.2014