该Maven插件的作品非常慢我。 在我的项目的WebApp文件夹拥有近15000小文件(图片,JSP,CSS等)。 当我使用Maven组装它,它首先将所有文件复制到target/myProject-1.0.0
目录,然后建立myProject-1.0.0.war
从它的文件。 复制过程需要10分钟,构建.war
需要2分钟。
当我看到构建可能会更快,如果.war
文件将被从WebApp文件夹直接组装。 是否有可能呢?
该Maven插件的作品非常慢我。 在我的项目的WebApp文件夹拥有近15000小文件(图片,JSP,CSS等)。 当我使用Maven组装它,它首先将所有文件复制到target/myProject-1.0.0
目录,然后建立myProject-1.0.0.war
从它的文件。 复制过程需要10分钟,构建.war
需要2分钟。
当我看到构建可能会更快,如果.war
文件将被从WebApp文件夹直接组装。 是否有可能呢?
我建议你使用使用war:inplace
的目标maven-war-plugin
与自定义一起maven-antrun-plugin
任务。
该war:inplace
将生成的WAR源目录中的web应用。 这将创造下的所有必要的额外的文件夹webapp
。
该antrun:run
可定制根据您的特殊要求制造战争。
这将有可能改善,因为大多数这些资源文件必须仍然会在性能webapp
文件夹,而不是被复制。
只是想提一提,有一个useCache
设置其显著提高性能(约3分钟,而不是12)。 然而,它是发展的唯一可以接受的,而不是CI服务器应该总是做清洁的基础之上。
在为战争插件配置部分,使用warSourceExcludes排除不需要的文件和目录。 在下面的例子中,目录组件和node_modules将被排除在分解战争以及从最终的战争。 在我的情况下,这降低了建造时间从3分钟到14秒。
<configuration>
<warSourceExcludes>
components/**,
node_modules/**
</warSourceExcludes>
</configuration>