部署war文件而不是展开的目录有什么好处?

时间:2009-09-17 22:54:15

标签: file deployment java-ee war

我正在为我们的产品配置一个安装程序,到目前为止,它已作为war文件分发,通常在tomcat上。一旦tomcat爆炸了目录,用户就必须打开属性文件并设置其数据库连接信息。我希望安装程序执行此操作(我们使用的是install4j),但似乎没有内置方法来修改war文件中的文本文件。我可以让安装程序将应用程序部署为一个展开的目录,这样可以省去我的麻烦,但是通过像这样部署而不是部署战争我会失去什么?

2 个答案:

答案 0 :(得分:3)

将数据库连接设置为JNDI数据源可能会更好,而不是手动编辑webapp /目录中的属性文件。如果您希望允许用户从.WAR存档重新部署应用程序而不覆盖其本地配置更改,这一点尤为重要。

当然,JNDI设置也不会通过安装程序轻松完成,因为使用的机制因app服务器而异。但是,任何称职的Java应用程序服务器管理员都应该知道如何配置命名数据源。此外,通过将责任委派给应用服务器,您可以允许用户利用连接池,群集以及与所选应用程序服务器捆绑在一起的数据源实现提供的任何其他功能。

答案 1 :(得分:0)

我想的不多 - 可能是一些磁盘空间,但如果这不是问题你就没问题。您是否考虑让安装程序生成属性文件并使用ZIP库(.WAR实际上是.ZIP - 将其重命名为.ZIP并查看您得到的内容:))来替换或添加它?