【问题标题】:Eclipse Luna maven-jar-plugin execution not covered by lifecycle生命周期未涵盖 Eclipse Luna maven-jar-plugin 执行
【发布时间】:2026-02-24 04:20:04
【问题描述】:

我有一个使用 maven-jar-plugin 的 maven java 项目(部署到 jboss,如果这很重要)。使用 Eclipse Kepler 可以正常工作。我现在正在尝试 Luna(EE 版),我现在收到此错误

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-jar-plugin:2.5:jar (execution: make-a-jar, phase: compile)

在我所有的子 .pom 文件中(maven-jar-plugin 在父 .pom 文件中指定,但错误指向子 .poms 中的块)。

在 .pom 查看器中,如果我单击概览选项卡中的错误消息,它会为我提供“发现新的 m2e 连接器”选项。单击它会弹出“m2e Marketplace”对话框,似乎做了很多工作,但随后只显示一个空列表。如果我点击“完成”,它会尝试计算依赖关系,然后给我这个错误:

Operation details
Cannot complete the request.  See the error log for details.
"m2e connector for mavenarchiver pom properties" will be ignored because a newer version is already installed. 

因此,maven-jar-plugin 似乎依赖于特定版本的 mavenarchiver,但 Eclipse Luna EE 带有更新的版本。有没有办法解决这个问题,还是我只需要等待更新版本的 maven-jar-plugin 发布? (我目前正在使用 maven-jar-plugin 的 2.5 版本,这是我所知道的最新版本。)

【问题讨论】:

    标签: m2e maven-jar-plugin m2e-wtp eclipse-luna


    【解决方案1】:

    尝试在 Eclipse 中导入 Hadoop 项目时,我遇到了类似的问题。上面的解决方案有效......但我对更改一些 pom 文件感到“厌倦”,并认为更改会在以后咬我。所以,另一个解决方案是: 为避免 Eclipse 中有关生命周期未涵盖执行的消息,请转到 Windows -> Preferences -> Maven -> Errors/Warning 并为“Plugin execution not Covered for Lifecycle..”选择 Ignore。

    【讨论】:

      【解决方案2】:

      您可以通过将执行阶段从编译更改为打包(这是 jar 目标的默认生命周期阶段)来解决问题。

              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-jar-plugin</artifactId>
                  <version>${maven-jar-plugin}</version>
                  <executions>
                    <execution>
                      <phase>package</phase>  <!-- changed from compile to package -->
                      <goals>
                        <goal>jar</goal>
                      </goals>
                    </execution>
                  </executions>               
              </plugin>
      

      【讨论】: