Performance 加速maven战争插件

Performance 加速maven战争插件,performance,maven,maven-war-plugin,Performance,Maven,Maven War Plugin,maven插件对我来说运行非常慢。在我的项目中,webapp文件夹有近15000个小文件(图像、jsp、css等)。当我用maven组装它时,它首先将所有文件复制到target/myProject-1.0.0目录,然后从中构建myProject-1.0.0.war文件。复制过程需要10分钟,构建.war需要2分钟 如我所见,如果直接从webapp文件夹组装.war文件,构建速度可能会快得多。有可能吗?我建议您将的war:inplace目标与自定义任务一起使用 war:inplace将在war源目

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


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

我建议您将的
war:inplace
目标与自定义任务一起使用

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

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


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

只想指出,有一个设置可以显著提高性能(~3分钟,而不是12分钟)。但是,它仅适用于开发,不适用于CI server,因为CI server应始终执行干净的构建。

在war插件的配置部分,使用warSourceExcludes排除不需要的文件和目录。在下面的示例中,目录组件和节点_模块将从分解的war以及最终war中排除。在我的例子中,这将构建时间从3分钟减少到14秒

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

组件/**,
节点单元/**

直接从
src/main/webapp
文件夹?那么依赖关系、资源等呢?@maba当然,为什么不呢?jar.exe可以从多个位置归档文件。ant任务
很容易做到这一点。这不是maven的方式。您可以使用来使用ant任务。@maba不确定maven方式有什么问题,这只是性能优化的问题-如何以最有效的方式构建工件。@maba并行构建是使用多个CPU核心。我的问题是复制15000个文件,这就是I/O。这节省了一些荒谬的复制,但战争:inplace也将所有库复制到WEB-INF/lib中,这也是不必要和麻烦的。8-(有人真的尝试过这个吗?你能介绍一下你的Maven配置,它实现了你在这里描述的吗?