加快Maven的战争插件(Speed up maven war plugin)

2019-08-01 07:17发布

该Maven插件的作品非常慢我。 在我的项目的WebApp文件夹拥有近15000小文件(图片,JSP,CSS等)。 当我使用Maven组装它,它首先将所有文件复制到target/myProject-1.0.0目录,然后建立myProject-1.0.0.war从它的文件。 复制过程需要10分钟,构建.war需要2分钟。

当我看到构建可能会更快,如果.war文件将被从WebApp文件夹直接组装。 是否有可能呢?

Answer 1:

我建议你使用使用war:inplace的目标maven-war-plugin与自定义一起maven-antrun-plugin任务。

war:inplace将生成的WAR源目录中的web应用。 这将创造下的所有必要的额外的文件夹webapp

antrun:run可定制根据您的特殊要求制造战争。

这将有可能改善,因为大多数这些资源文件必须仍然会在性能webapp文件夹,而不是被复制。



Answer 2:

只是想提一提,有一个useCache设置其显著提高性能(约3分钟,而不是12)。 然而,它是发展的唯一可以接受的,而不是CI服务器应该总是做清洁的基础之上。



Answer 3:

在为战争插件配置部分,使用warSourceExcludes排除不需要的文件和目录。 在下面的例子中,目录组件和node_modules将被排除在分解战争以及从最终的战争。 在我的情况下,这降低了建造时间从3分钟到14秒。

        <configuration>
              <warSourceExcludes>
                components/**,
                node_modules/**
              </warSourceExcludes>
        </configuration>


文章来源: Speed up maven war plugin