【问题标题】:Disable the default-jar execution禁用 default-jar 执行
【发布时间】:2011-05-05 08:15:33
【问题描述】:

我正在使用 Maven Assembly 插件来打包一个 jar 文件。

但是当我运行mvn package时,maven总是触发[jar:jar {execution: default-jar}]来创建一个默认的jar文件。

所以我将有 2 个 jar 文件(一个由 Assembly 插件创建,一个由我不想创建的 Maven jar 创建)。

如何关闭 default-jar 执行?

在我的pom.xml 中,我使用的是:<packaging>jar</packaging>

我不想把它改成<packaging>pom</packaging>

【问题讨论】:

    标签: maven-2 jar maven maven-assembly-plugin maven-jar-plugin


    【解决方案1】:

    (...) 所以我将有 2 个 jar 文件(一个由程序集插件创建,一个由我不想创建的 maven jar 创建)。

    看起来你在做相当复杂的事情。也许 Maven 不是适合您的工具。

    如何关闭执行:default-jar。

    可以将对应执行的<phase>设置成未知的,比如none

      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.3.1</version>
        <executions>
          <execution>
            <id>default-jar</id>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <!-- this is used for inheritance merges -->
            <phase>package</phase>
            <!-- append to the packaging phase. -->
            <goals>
              <goal>single</goal>
              <!-- goals == mojos -->
            </goals>
          </execution>
        </executions>
      </plugin>
    

    只要您提供其他要安装的东西,这似乎就可以工作,比如一个程序集(我只测试了install)。但当然,这是一个 hack。

    【讨论】:

    • 这是一个 hack,但很高兴知道这个 hack。谢谢! (+1)
    • 顺便说一句,你睡过吗?你也在 CET 上,不是吗?
    • @seanizer:哈哈。是的,我愿意 :) 不,我现在不在,我要搬家了。
    • 我不会认为这是一个 hack。当您不需要它们时,更多的方法是使用 maven 关闭“默认”插件。此外,即使没有要构建的内容,即使执行 maven-jar-plugin 也会增加构建时间。那么,为什么还要为无所事事的事情付出时间呢?
    • 谢谢大家。特别感谢帕斯卡。我刚开始使用 Maven 1 个月前。这对我来说并不容易。在你的帮助下,现在我对 Maven 感觉更好。
    【解决方案2】:

    虽然不是对问题的直接回答,但您可以使用 &lt;useProjectArtifact&gt;false&lt;/useProjectArtifact&gt;

    排除 maven jar 创建的 jar

    【讨论】:

      猜你喜欢
      • 2020-01-25
      • 2021-05-27
      • 1970-01-01
      • 2017-05-26
      • 2014-11-09
      • 1970-01-01
      • 2016-11-15
      • 2014-10-02
      • 2015-06-26
      相关资源
      最近更新 更多