基于maven-war-plugin的Maven包装

时间:2011-02-17 09:44:58

标签: java maven maven-war-plugin

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

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

我假设这样的序列:

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

  2. 在'package'阶段调用maven-assembly-plugin。它创建了所需结构的ZIP存档。

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

1)在准备包阶段

期间创建War文件
<phase>package</phase>

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

branch_name="brn1"
fil1="$(ls /home/build/branches/$branch_name/build*.tgz)"
mv $fil1 /home/build/branches/$branch_name/build.tgz