
組建 Java app |
75
根據 RebelLabs 的 Ultimate Java Build Tool Comparison(
http://bit.ly/2NL4PPp
)指南,
優秀的組建工具應提供下列功能:
• 管理依賴項目
• 漸增(incremental)編譯
• 適當地處理多個模組或 app 間的編譯與資源管理工作
• 處理不同的 profile(設定檔)(開發 vs. 生產)
• 適應產品需求的改變
• 自動組建
組建工具在這幾年以來不斷地變化,變得越來越複雜,功能也越來越豐富,它賦與開發
者更多的能力,例如管理專案依賴項目,以及將編譯與包裝之外的工作自動化。通常組
建工具都需要兩種主要元件:組建腳本,與處理組建腳本的執行檔。組建腳本必須可用
於任何平台:它們必須無需修改就可以在 Windows、Linux 與 Mac 上面執行,只有組建
工具二進位檔需要改變。在組建腳本內,依賴關係管理的概念非常重要,相關專案的結
構(模組化)與組建程序本身也很重要。現代的組建工具透過管理下列事項來處理這些
概念:
• 組建依賴項目
• 外部依賴項目
• 多模組專案
• 存放區
• 外掛
• 工件的釋出與發布
在探討熱門的組建工具之前,你要先熟悉上述概念的內容。
組建依賴項目
在組建工具提供依賴項目管理功能之前,要管理 Java app 的支援程式庫,做法通常是親
自將類別檔與 JAR 複製到各個資料夾!你可以想像,這種工作不但耗時且容易出錯,重
點是它會讓開發者的工作辛苦許多,因為開發者在編寫 ...