生命周期配置未涵盖Eclipse Maven错误插件的执行:

Jåc*_*cob 4 eclipse m2eclipse maven-3 maven m2e

我在Windows 7上将Eclipse Juno与Maven 3.0.5一起使用。该项目以前在Windows XP上使用,并且我已移至Windows 7 64位计算机。

我已经复制了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)
Run Code Online (Sandbox Code Playgroud)

我尝试通过在Eclipse.ini文件中添加以下内容来对此线程中提到的内容进行尝试,但是它没有解决问题。

-vm
c:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll
Run Code Online (Sandbox Code Playgroud)

尝试构建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>
Run Code Online (Sandbox Code Playgroud)

rec*_*rec 5

如果Maven插件未提供m2e生命周期映射,则较新版本的m2e会抱怨。较新的插件通过JAR中的文件META-INF / m2e / lifecycle-mapping-metadata.xml提供了这样的映射。如果该文件不存在,则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>
Run Code Online (Sandbox Code Playgroud)

上面的示例禁用了Eclipse构建中的插件。也可以通过指定<execute />为action 来启用它。

请注意,pluginExecutionFilter下的设置必须与插件和您要映射的插件目标相匹配。可以指定多个pluginExecution元素来映射不同的插件。