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