在我的eclipse工作区中,将文件保存在java编辑器中会使m2e在项目上运行defaultGoal(install),这涉及重写MANIFEST.MF文件。因为我使用的是另一个没有m2e连接器的插件(maven-scr-plugin),这使我的清单文件无用。
我想做的是阻止maven-bundle-plugin在保存时执行,到目前为止我已经提出了两种可能的解决方案:
您可以编辑eclipse生命周期映射,但由于某些原因(我认为它应该),这不会起作用:
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<versionRange>[0.0,)</versionRange>
<goals>
<goal>instructions</goal>
<goal>bundle</goal>
<goal>manifest</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
或者,将我的pom.xml defaultGoal
中的<build>
更改为compile
之类的内容也意味着没有达到捆绑插件启动的程度,但我确实由于日食的特殊性,讨厌改变我的pom。
有没有办法为m2e插件定义defaultGoal?你们有没有其他方法呢?谢谢!
答案 0 :(得分:0)
您可以按照http://maven.apache.org/shared/maven-archiver/examples/manifestFile.html
中的说明使用自己的清单文件答案 1 :(得分:0)
到目前为止,我找到的唯一解决方案(但实际上有效)是在我的父pom中将<defaultGoal>
设置为compile
。它解决了这个问题,但正如问题所述,它远非最佳,因为它将eclipse的东西传播到IDE独立的构建中。