加速 maven war 插件



maven插件对我来说工作得很慢。在我的项目中,webapp 文件夹有近 15000 个小文件(图像、jsp、css 等)。当我用 maven 组装它时,它首先将所有文件复制到 target/myProject-1.0.0 目录,然后从中构建myProject-1.0.0.war文件。复制过程需要 10 分钟,构建.war需要 2 分钟。

正如我所看到的,如果直接从 webapp 文件夹组装.war文件,构建速度可能会快得多。可以做到吗?

在 war 插件的配置部分,使用 warSourceExcludes 排除不需要的文件和目录。在下面的示例中,目录组件和node_modules将从爆炸战争和最终战争中排除。就我而言,这将构建时间从 3 分钟减少到 14 秒。

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

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

war:inplace将在 WAR 源目录中生成 Web 应用。它将在webapp下创建所有必要的额外文件夹。

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

这可能会提高性能,因为您拥有的大多数资源文件仍将位于 webapp 文件夹中,不会被复制。

只想提一下,有一个useCache设置可以显着提高性能(~3 分钟而不是 12 分钟)。但是,它仅适用于开发,不适用于应始终执行干净构建的 CI 服务器。

相关内容

  • 没有找到相关文章

最新更新