首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决Spring Data Maven构建的“生命周期配置未涵盖的插件执行”问题

如何解决Spring Data Maven构建的“生命周期配置未涵盖的插件执行”问题
EN

Stack Overflow用户
提问于 2011-06-15 10:04:41
回答 20查看 1.1M关注 0票数 964

我正在尝试和Spring Data and Neo4j一起工作。我首先尝试关注由主站点链接到的this guide。特别是,我将我的pom.xml建立在"Hello, World!" example file之上。以下是我的pom.xml中导致问题的插件的片段……

代码语言:javascript
复制
<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

我看到的错误是:

代码语言:javascript
复制
 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

我运行的是Eclipse3.6.2和m2e 0.13。我不是Maven专家,所以如果可能的话,请在你的回答中非常有说服力。

我也尝试过通过this update site使用m2e 1.0.0,但仍然收到相同的错误。

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2011-06-16 21:22:38

啊!怎么这么乱呀。我不记得在哪里找到的,但我必须添加以下内容才能让M2Eclipse开心。更可悲的是,很难理解为什么需要这个标记。

代码语言:javascript
复制
<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

M2Eclipse插件还存在许多其他问题,根本不能处理Spring Data。最后,我禁用了M2Eclipse,转而使用Apache Eclipse plug-in

票数 424
EN

Stack Overflow用户

发布于 2016-06-23 05:25:30

请注意,目前Eclipse Neon发布系列中提供的M2Eclipse (m2e)版本1.7.0支持用于指定生命周期映射元数据的新语法。结果就像这样的样板(这里我们告诉m2e忽略这个目标):

代码语言:javascript
复制
<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

可以在插件的执行节点中替换为一行:

代码语言:javascript
复制
<?m2e ignore?>

有关详细信息,请参阅release notes

票数 30
EN

Stack Overflow用户

发布于 2016-09-22 02:59:01

将插件执行的Maven首选项从error更改为ignore

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6352208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档