maven插件对我来说工作起来非常缓慢。在我的项目中,webapp文件夹有近15000个小文件(图像,jsp,css等)。当我用maven组装它时,它首先将所有文件复制到target/myProject-1.0.0
目录,然后从中建立myProject-1.0.0.war
文件。复制过程需要10分钟,建立.war
需要2分钟。加速maven war插件
正如我所看到的,如果.war
文件将直接从webapp文件夹中组装,速度会更快。有可能吗?
maven插件对我来说工作起来非常缓慢。在我的项目中,webapp文件夹有近15000个小文件(图像,jsp,css等)。当我用maven组装它时,它首先将所有文件复制到target/myProject-1.0.0
目录,然后从中建立myProject-1.0.0.war
文件。复制过程需要10分钟,建立.war
需要2分钟。加速maven war插件
正如我所看到的,如果.war
文件将直接从webapp文件夹中组装,速度会更快。有可能吗?
我建议您使用war:inplace
目标maven-war-plugin
以及自定义maven-antrun-plugin
任务。
war:inplace
将在WAR源目录中生成Web应用程序。它将在webapp
下创建所有必需的额外文件夹。
antrun:run
可根据您的特殊要求进行定制以创建战争。
这可能会提高性能,因为您拥有的大多数资源文件仍将位于webapp
文件夹中,并且不会被复制。
它节省了一些荒谬的复制,但战争:inplace也将所有库复制到WEB-INF/lib中,这也是不必要的和麻烦的。 8-(有没有人真的试过这个? –
在war插件的配置部分,使用warSourceExcludes排除不需要的文件和目录。在下面的示例中,目录组件和node_modules将从爆炸战争以及最终战争中排除。在我的情况下,这会将构建时间从3分钟缩短到14秒。
<configuration>
<warSourceExcludes>
components/**,
node_modules/**
</warSourceExcludes>
</configuration>
直接从'src/main/webapp'文件夹?那么依赖性,资源等呢? – maba
@maba当然,为什么不呢? jar.exe可以存档来自多个位置的文件。蚂蚁任务''很容易做到这一点。 –
kan
这不是maven的方式。你可以使用['maven-antrun-plugin'](http://maven.apache.org/plugins/maven-antrun-plugin/)来使用那个ant任务。 – maba