【问题标题】:Maven packaging based on maven-war-plugin基于maven-war-plugin的maven打包
【发布时间】:2011-02-17 09:44:57
【问题描述】:

我想知道 Maven 实现自定义打包并将其绑定到“打包”阶段所需的步骤。

基本上,我需要的是调用标准的 maven-war-plugin 并创建包含创建的 WAR 文件的特定结构的 ZIP 存档。虽然我知道如何分别完成这些任务,但我不太了解如何将它们联系在一起。

我假设一个这样的序列:

  1. 在某个阶段会调用 maven-war-plugin。它会自动处理特定于 WAR 的内容并创建 WAR 文件

  2. 在“包”阶段调用 maven-assembly-plugin。它会创建所需结构的 ZIP 存档。

在 POM 文件中定义这些任务并将它们绑定到构建生命周期的最直接和正确的方法是什么?

【问题讨论】:

  • 我不明白你的问题。我们一直这样做。你生成你的 jar/ear/war,然后你运行一个程序集。那不适合你吗?
  • 我的问题是关于执行流程。我如何准确定义在“包”阶段创建 ZIP 存档之前要调用 maven-war-plugin?如果您多次这样做,您能否提供一个工作示例?

标签: java maven maven-war-plugin


【解决方案1】:

我们通常只在打包阶段运行程序集,使用标准程序集配置:

            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>attached</goal>
                    </goals>
                </execution>
            </executions>

如果由于某种原因这对您不起作用,一个简单的解决方案是将 war 和 zip 拆分为 2 个子模块。在第一个子模块中生成战争,然后创建第二个“pom”类型的子模块,它运行程序集插件。

【讨论】:

    【解决方案2】:

    您可以尝试在“安装”阶段调用 maven-assembly-plugin 吗?

    【讨论】:

      【解决方案3】:

      您可以更改每个任务的阶段。

      1) 在准备包阶段创建 War 文件

      <phase>prepare-package</phase>
      

      2) 在打包阶段创建 zip 文件

      <phase>package</phase>
      

      【讨论】:

        猜你喜欢
        • 2011-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多