【问题标题】:Preventing maven bundle from running no save in eclipse 4.2防止 Maven 包在 Eclipse 4.2 中运行不保存
【发布时间】:2013-05-29 09:07:29
【问题描述】:

在我的 Eclipse 工作区中,在 java 编辑器中保存文件会使 m2e 在项目上运行 defaultGoal(安装),这涉及重写 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 中的 &lt;build&gt; 中的 defaultGoal 更改为 compile 也意味着无法到达捆绑插件启动的地步,但我真的不想更改我的 pom,因为日食特性。

有没有办法为 m2e 插件定义一个 defaultGoal?你们有没有其他的方法来解决这个问题?谢谢!

【问题讨论】:

    标签: java eclipse maven m2e maven-bundle-plugin


    【解决方案1】:

    您可以按照http://maven.apache.org/shared/maven-archiver/examples/manifestFile.html 中的说明使用自己的清单文件

    【讨论】:

    • 感谢您的回答!我实际上需要有一个动态生成的清单,但前提是它后来被其他插件丰富了。因为 eclipse 缺少这些插件的一些连接器,所以它会生成一个不完整的清单,所以我宁愿它不接触它,我继续使用上次完整构建中的那个
    【解决方案2】:

    到目前为止,我找到的唯一解决方案(但确实有效)是在我的父 pom.xml 中将&lt;defaultGoal&gt; 设置为compile。它解决了这个问题,但正如问题中所说,它远非最佳,因为它将 eclipse 的东西传播到一个独立于 IDE 的构建中。

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多