RPM( Red Hat Package Manager)系統,用于基于Red Hat的各種系統,給這個問題提供了一個解決方案。RPM系統的核心是一個稱為spec文件的構件描述文件。它列出了需要成功構建所需的構建依賴、構建命令,還有使用的配置選項。因為一個spec文件本質上是一個基于宏的shell腳本,所以你可以用它來構建許多類型的軟件。砌,M系統也認為構建源代碼應該從零開始。可以用構建之前通過spec文件給源代碼打包的方式適配源代碼。
最終工件
在使用RPM系統完成構建之后,你得到了一個RPM文件,這種類型可以很方便地給Red Hat系列操作系統部署工件。對于Debian系的發行版來說,你得到的是個.deb文件。
Maven構建的最終結果一般是企業級檔案,簡稱EAR文件。它包含著Java企業級應用。
它是我們之后要部署到生產服務器上的最終部署工件。
本章我們關心部署所需工件的構建,在第7章部署代碼中,我們討論工件的最終部署。
盡管如此,即使在構建工件的時候,我們也需要理解如何部署它們。現在,我們將要使用以下的經驗法則:操作系統級別的包優于特定的包。這是我的個人喜好,其他人可能不同意。
讓我們簡要地討論一下這個經驗法則的背景和其他的方案。