我们应该使用我们的组件打包第三方库吗?

时间:2010-01-20 22:21:59

标签: java components distribution libraries production

我们正在进行一些架构重构。我们是一家SaaS公司,因此所有部署都是我们自己管理的服务器。当前模型将我们所有的二进制文件以及我们用于耳朵,战争,焦耳等的第三方库打包。这些包包括它们所依赖的所有库。

部署它们时,它们会被手动爆炸(解压缩)或被它们构建的任何目标容器拾取。

由于库没有太大变化,我们想知道作为环境设置的一部分,预先部署库是否更好,并根据需要更新它们。我们不是倾向于某种方式,我只是在寻找一些反馈。

1 个答案:

答案 0 :(得分:4)

通常情况下,用耳朵,战争等包装图书馆会更好。有些原因是:

  • 配置新服务器计算机时可节省时间。如果不使用可部署包依赖性,则可能需要很长时间才能在新的目标服务器计算机上获取所有正确的库。
  • 您可以将不同的.war文件部署到依赖于同一库的不同版本的应用程序服务器
  • 如果使用deployable打包依赖项(只需重新部署),则可以直接升级库。如果您的库是独立的,那么您可以采用其他步骤来部署新库(以及可能出错的另一个地方)。
  • 如果包含依赖项,您可以确定部署在测试环境中的.war在prod环境中的行为相同。使用集中式库和版本的测试/产品环境的细微差别经常会导致问题。
  • 您的依赖列表非常明确。例如,您可以进行开源许可审计。如果你没有用你的包打包依赖,你永远不会知道......