11

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

.war正如我所见,如果文件将直接从 webapp 文件夹中组装,则构建可能会快得多。有可能吗?

4

3 回答 3

5

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

        <configuration>
              <warSourceExcludes>
                components/**,
                node_modules/**
              </warSourceExcludes>
        </configuration>
于 2017-01-03T21:35:41.943 回答
4

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

war:inplace在 WAR 源目录中生成 webapp。它将在webapp.

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

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

于 2012-10-11T08:09:16.723 回答
4

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

于 2012-10-11T10:02:11.320 回答