RPM( Red Hat Package Manager)系统,用于基于Red Hat的各种系统,给这个问题提供了一个解决方案。RPM系统的核心是一个称为spec文件的构件描述文件。它列出了需要成功构建所需的构建依赖、构建命令,还有使用的配置选项。因为一个spec文件本质上是一个基于宏的shell脚本,所以你可以用它来构建许多类型的软件。砌,M系统也认为构建源代码应该从零开始。可以用构建之前通过spec文件给源代码打包的方式适配源代码。
最终工件
在使用RPM系统完成构建之后,你得到了一个RPM文件,这种类型可以很方便地给Red Hat系列操作系统部署工件。对于Debian系的发行版来说,你得到的是个.deb文件。
Maven构建的最终结果一般是企业级档案,简称EAR文件。它包含着Java企业级应用。
它是我们之后要部署到生产服务器上的最终部署工件。
本章我们关心部署所需工件的构建,在第7章部署代码中,我们讨论工件的最终部署。
尽管如此,即使在构建工件的时候,我们也需要理解如何部署它们。现在,我们将要使用以下的经验法则:操作系统级别的包优于特定的包。这是我的个人喜好,其他人可能不同意。
让我们简要地讨论一下这个经验法则的背景和其他的方案。