【问题标题】:Can we add maven plugin without attach its goal to a particular phase?我们可以添加 Maven 插件而不将其目标附加到特定阶段吗?
【发布时间】:2015-08-19 07:08:36
【问题描述】:

您好,我是 Maven 新手,我想知道如何在不将其目标附加到特定阶段的情况下使用插件。因此,例如我想使用shade 插件来创建 uber-jar(fat jar)。

目标概览

The Shade Plugin has a single goal:

shade:shade 绑定到包阶段,用于创建一个 带阴影的罐子。

所以插件只有一个目标,叫做shade

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <id>shade</id>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
        </execution>
    </executions>
</plugin>

所以我说“嘿 Maven”,我想将 shade 的插件目标 shade 附加到您的 package 生命周期中。好的,但是如果我删除执行配置怎么办。那么会发生什么,Maven 可以理解在哪里放置阴影目标?每个插件是否都将其目标从其创建者阶段预定义?又怎么能看懂是哪个阶段呢?

上述文档描述说目标绑定到打包阶段。这是否意味着我的执行配置是多余的?

【问题讨论】:

    标签: java maven jar maven-shade-plugin


    【解决方案1】:

    好的,但是如果我删除执行配置怎么办 然后 Maven 可以理解在哪里放置阴影目标会发生什么?

    如果您删除执行配置,插件将不会运行

    每个插件是否都将其目标从其创建者阶段预定义?

    每个目标都可以有一个默认阶段。因此,即使未指定阶段并定义了默认阶段,目标也会在构建周期的该阶段执行。

    又怎么能理解这个阶段是哪一个呢?

    这通常在插件文档中指定

    上述文档描述说目标是必然的 包阶段。这是否意味着我的执行配置是 多余的?

    在你的配置阶段是冗余的。

    请参阅https://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 2020-11-17
      相关资源
      最近更新 更多