我有一个使用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查看器中,如果我单击Overview选项卡中的错误消息,它会为我提供“发现新的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? (我目前正在使用2.5版的maven-jar-plugin,这是我所知道的最新版本。)
答案 0 :(得分:2)
尝试在Eclipse中导入Hadoop项目时遇到了类似的问题。上面的解决方案有效......但是我对改变一些pom文件感到“厌倦”,并认为这个改变会让我后来感到厌烦。所以,另一个解决方案是: 要避免Eclipse中有关生命周期未涵盖的执行的消息,请转到Windows - >偏好 - > Maven - >错误/警告,并选择忽略“插件执行未涵盖生命周期..”
答案 1 :(得分:1)
当您将执行阶段从编译更改为包时(这是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>