12

Web 应用程序通常至少有一个配置文件,其中包含 jdbc 配置和其他设置。您可以将此类文件(-s)放在 .war 文件内或文件外。这些方法的优缺点是什么?你的方法是什么,为什么?

4

4 回答 4

9

恕我直言,如果您需要在不同的环境中部署相同的战争,那么外部似乎是最方便的。比如,dev、itt、uat 和生产。相同的构建不同的配置。

于 2010-02-26T13:18:38.557 回答
2

在我看来,应用程序设置值永远不应该与二进制文件合并。它们应放置在单独的文件或数据库中。这是基本的最佳实践。您永远不知道您或其他任何人何时需要调整其中一项设置——而且您可能不在身边——或者源代码可能不可用。

于 2011-11-23T18:08:35.423 回答
1

恕我直言,最好的方法是使用灵活的方法并允许配置位于 WAR 内部和/或外部(为配置查找顺序以及配置可能保留的文件/目录名称提供一些额外的逻辑)。

我有非常不同的部署模型/架构的经验-有时是一个构建/许多配置,有时甚至是:一台服务器上的许多构建/一个配置-很奇怪,但可能会发生;-)。

如果您正在开发某种平台,您的客户/用户可能会在 WAR 构建时未指定的自定义环境中部署该平台,这可能会特别有用。

于 2010-02-26T14:20:15.280 回答
0

将它们放入战争中并使用某种构建配置文件(如maven build profiles)。那样:

  • 你有一步部署。无需手动编辑远程环境中的属性。
  • 您可以为不同的环境拥有不同的工件(war 文件),因此构建仍然是可移植的,但您无需使用 ZIP 软件打开 war 来修改设置。

实现/使用构建配置文件的方式取决于您的构建环境。

于 2010-02-26T13:18:36.577 回答