【问题标题】:How to exclude one of Maven's lifecycle phase如何排除 Maven 的生命周期阶段之一
【发布时间】:2012-01-16 08:48:49
【问题描述】:

我有 .war 文件,我需要执行“部署脚本”。可以用maven做到这一点吗?我可以只执行生命周期的部署阶段吗?或者使用其他一些工具进行部署会更好,例如 ant、gant 等。

【问题讨论】:

    标签: deployment maven


    【解决方案1】:

    不,您不能跳过阶段。 mvn phase-x 命令总是意味着“运行所有阶段直到阶段-x,包括”。然而,一些插件可以检测自上次执行以来是否发生了变化,并(自行)决定不运行——后续构建速度更快。

    我不确定你到底想达到什么目标——也许你可以看看Maven assembly plugin

    【讨论】:

    • 很抱歉,我没有明确表达我的目的。我们向客户提供一个 .war 文件,我的目的是为这个 .war 制作安装程序,它将执行诸如查找 servlet 容器、运行它等任务,如果它没有启动、部署或重新部署应用程序,则替换其中的一些属性.properties 文件和其他一些特定任务。我有一个想法,为特殊问题编写一个自己的 maven 插件,并使用 cargo maven 插件进行“标准”部署大头钉。不过答案非常明确。谢谢你。我会寻找更适合我的任务的其他工具。
    • @Sergey 当您这么说时,程序集插件似乎至少是一条值得研究的路径。我将从创建一个单独的项目(仅用于运行程序集插件)开始,该项目将使用此战争作为依赖项。不过,我不确定是否要替换 .properties 文件,但这种方式可能不可行。
    • 谢谢!我认为您的建议是解决我问题的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 2016-08-05
    • 2021-01-25
    • 2011-12-23
    • 1970-01-01
    • 2016-02-18
    • 2015-11-20
    相关资源
    最近更新 更多