1

我对这个问题有点沮丧。我的 pom.xml 中有这个插件

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>axistools-maven-plugin</artifactId>
  <version>1.3</version>
  <executions>
    <execution>
     <goals>
      <goal>wsdl2java</goal>
     </goals>
    </execution>
  </executions>
  ...

而且我总是得到 Maven 生命周期未涵盖的这个 Eclipse 消息插件配置

这个错误越来越烦人。我发现如果我将这个移到 pluginConfiguration 中,错误就会消失,但这是由于它不再被调用,因为它用于继承 maven 结构。

如果我删除执行元素,eclipse 会再次高兴,但它不再被调用。

所以我尝试在我不知道它是什么的地方添加这个巨大的插件配置(生命周期映射),但它根本没有帮助:

<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>       

我能够在 eclipse 中构建这个项目而没有错误,但它总是将执行标记显示为错误,并且在导入现有的 maven 项目期间我也得到一个错误。

我删除了eclipse中的错误:-)效果很好,但是下次错误会再次出现。如果我用谷歌搜索这个问题,我会发现很多关于这个问题的话题,那为什么还没有解决呢?

我还阅读了这篇文章 http://wiki.eclipse.org/M2E_plugin_execution_not_covered
但如果那是我认为 maven 和 eclipse 不适合的解决方案,那真是太好了。

我也没有得到什么,为什么我必须告诉 maven 何时执行这个插件?我不需要在每个插件上告诉 maven 何时执行。为什么在这个?我可以用不同的方式配置它吗?

感谢您的帮助和许多问候,豪克

4

2 回答 2

2

包括“阶段”:

<execution>
<phase>package</phase>
 <goals>
  <goal>wsdl2java</goal>
 </goals>
</execution>
于 2013-11-15T08:39:03.520 回答
0

如果您遇到错误not covered by life cycle...,您必须使用与您真正喜欢在构建中使用的插件名称相同的插件名称:

  <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.codehaus.mojo</groupId>
                    <artifactId>axistools-maven-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>wsdl2java</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>axistools-maven-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <goals>
              <goal>wsdl2java</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

除此之外,我建议使用最新版本的axistools-maven-plugin 你必须配置这个插件的原因很简单。因为默认情况下它不在生命周期中。您必须将其绑定到生命周期。在这种情况下,插件有一个默认绑定,你可以像上面那样在 pom 中提供它。否则,您已经通过以下方式明确地做到了:

<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <version>1.3</version>
    <executions>
      <execution>
        <phase>generate-sources</phase>
        <goals>
          <goal>wsdl2java</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>

如果您喜欢或需要根据需要配置axistools-plugin,您可以。

于 2013-11-15T08:39:47.260 回答