如果尝试在Eclipse下使用ActiveJdbc,则生命周期配置不会涵盖插件执行

时间:2014-09-04 16:25:17

标签: java eclipse maven activejdbc

我已在pom.xml中输入了必需的配置,以ActiveJdbc开发,其中包含一个依赖项和一个插件。

依赖关系没问题,而插件导致Eclipse出现错误消息:

Plugin execution not covered by lifecycle configuration

enter image description here

我是插件的新手,既不了解错误信息也不了解提供的快速修复。

他们是什么意思?

更新

如果我将<plugins>部分包装到<pluginManagement>标记中,则错误消失。但与此同时,仪器不再执行了。

是否可以删除错误消息并在Eclipse中执行检测?

3 个答案:

答案 0 :(得分:2)

当遇到没有生命周期映射信息的插件时,这是新M2E插件(从1.0版开始)引发的错误,该插件明确告诉M2E如何处理插件执行。就个人而言,只要它构建一切正常,我在大多数时间都坚持使用旧的m2eclipse(版本0.12)没有问题。

但是,要删除此错误,您可以尝试为activejdbc-instrumentation插件添加以下生命周期映射元数据以执行其目标:

...
<pluginManagement>
   <plugins>
      <plugin>
         <groupId>org.eclipse.m2e</groupId>
         <artifactId>lifecycle-mapping</artifactId>
         <version>1.0.0</version>
         <configuration>
            <lifecycleMappingMetadata>
               <pluginExecutions>
                  <pluginExecution>
                     <pluginExecutionFilter>
                        <groupId>org.javalite</groupId>
                        <artifactId>activejdbc-instrumentation</artifactId>
                        <versionRange>[1.4.9,)</versionRange>
                        <goals>
                            <goal>instrument</goal>
                        </goals>
                     </pluginExecutionFilter>
                     <action>
                        <execute />
                     </action>
                  </pluginExecution>
               </pluginExecutions>
            </lifecycleMappingMetadata>
         </configuration>
      </plugin>
   </plugins>
</pluginManagement>

<plugins>
   <plugin>
      <groupId>org.javalite</groupId>
      ...

有关此错误的详细信息,请参阅http://wiki.eclipse.org/M2E_plugin_execution_not_covered

答案 1 :(得分:0)

显然,根据pom包装的类型,构建默认绑定到不同的生命周期阶段。如果你试图在阶段:process-classes中运行执行,请尝试将其更改为pom packagin必须经历的一个。我不确定这是否是解决问题的正确方法,但它对我有用。在maven build lifecycle你可以看到pom包装绑定到包装类型,安装和部署,所以如果这是你的包尝试修改阶段到“包”,例如,对于pom类型将是第一阶段。

现在,如果你在控制台中运行它,它将工作,但在eclipse中将标记错误。如果你改变了阶段,那么错误就会消失,你仍然可以运行它。

这很可能是一个快速修复,但是如果你只是想确保它在pom中的其他插件之前执行,只是确保它在前一个阶段而不是它所属的那个阶段。

答案 2 :(得分:0)

这纯粹是一个eclipse插件问题。这是两个解决方案

  1. 您的项目将尝试从命令行构建。试试mvn clean install
  2. 你可以切换到intellij - 这对maven有更好的原生支持,不需要任何插件。