2012-10-25 57 views
1

我有一個螞蟻腳本,它產生一個自定義版本的tomcat以供我的服務器使用。這ant腳本執行以下操作:是否有用於執行常見文件系統操作的maven插件?

  • 解壓一個Tomcat的一個副本.zip文件
  • 刪除一堆文件未使用
  • 一堆罐子添加到tomcat \像lib文件夾數據庫驅動程序和其他
  • 壓縮所有備份成一個zip文件

我注意到,有Maven的螞蟻運行插件在http://maven.apache.org/plugins/maven-antrun-plugin/但文檔表明,這種螞蟻運行插件應使用謹慎。

maven插件可用於執行基本的文件io操作,如複製,解壓縮,刪除,重命名,移動,zip等等?

回答

1

檢查copy-maven-plugin

copy-maven-plugin」解決了這個問題,並提供了不同的任務,一個完美的解決方案。它允許您輕鬆執行和配置以下操作:

  • 複製文件,目錄和Maven依賴關係。
  • 過濾並替換複製文本文件。
  • 打包,更新和解壓檔案,zip條目和Maven。
  • 附加創建爲Maven構件的檔案,或直接將其部署到Maven存儲庫管理器。
  • 下載和上傳來自HTTP,SCP和FTP的檔案。
    使用Groovy「擴展點」進行文本替換,文件過濾和後期處理。
1

還有如其他人所說的一些插件,但行家的整點你不應該需要這些基本的文件操作。 Maven運行在更高層次的抽象層次上,像lib文件夾中的jar等東西應該通過模塊依賴來處理,而不是通過顯式的複製任務來處理。

如果你想堅持更低層次的「基本文件操作」,ant比maven更好。 Maven旨在通過重新考慮您的方法儘可能地擺脫這些操作。

+1

我知道,maven的立場是,你不應該需要做文件操作,但現實是不同的,如果我沒有腳本創建我的tomcat發行版,我將不得不手動完成它不可重複和可靠。 – ams

+0

我同意有時你需要訴諸於antrun或其他更具體的腳本。然而,它應該是一個例外情況,你提到的很多事情都可以用標準的Maven插件完成。例如,最初可以使用antrun,並逐件轉換爲maven方式。 – eis

0

如果你已經有了一個可行的ant腳本,不要浪費你的時間來重寫它。只需使用antrun插件即可。就像eis說的那樣,Maven在更高的層次上運行,所以通常你不需要去關注文件。