Изпълнението на приставката за грешка на Eclipse Maven не се покрива от конфигурацията на жизнения цикъл:

Използвам 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

Опитах се да инсталирам и изчистя build 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