maven插件对我来说非常慢。在我的项目中,webapp文件夹有近15000个小文件(图像,jsp,css等)。当我用maven组装它时,它首先将所有文件复制到target/myProject-1.0.0
目录,然后从中构建myProject-1.0.0.war
文件。复制过程需要10分钟,构建.war
需要2分钟。
正如我所看到的,如果直接从webapp文件夹汇编.war
文件,构建速度可能会快得多。有可能吗?
答案 0 :(得分:4)
我建议您使用war:inplace
目标maven-war-plugin
以及自定义maven-antrun-plugin
任务。
war:inplace
将在WAR源目录中生成webapp。它将在webapp
下创建所有必要的额外文件夹。
可以根据您的特殊要求定制antrun:run
来制造战争。
这可能会提高性能,因为您拥有的大多数资源文件仍然位于webapp
文件夹中,而不会被复制。
答案 1 :(得分:4)
只是想提一下useCache
设置可以显着提高性能(约3分钟而不是12分钟)。但是,它仅适用于开发,而不适用于应始终执行干净构建的CI服务器。
答案 2 :(得分:3)
在war插件的配置部分中,使用warSourceExcludes排除不需要的文件和目录。在下面的示例中,目录组件和node_modules将从爆炸战争以及最终战争中排除。在我的情况下,这将构建时间从3分钟减少到14秒。
<configuration>
<warSourceExcludes>
components/**,
node_modules/**
</warSourceExcludes>
</configuration>