首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用可修改的属性文件部署war文件

使用可修改的属性文件部署war文件
EN

Stack Overflow用户
提问于 2010-07-09 02:04:18
回答 3查看 2K关注 0票数 0

我正在构建一个web服务,并将其打包到一个war文件中以进行部署。现在,我所有的配置文件(.properties和.xml)都被打包到我的.war文件中。这是行不通的,因为每个单独的安装都需要修改其中的一些文件。我知道一些servlet容器会保持.war文件不变,这意味着配置文件永远不会被轻易地修改。我的问题是:使用这些外部配置文件部署.war文件的最佳实践是什么?我认为配置文件需要与.war文件分开提供,并放在类路径中的一个目录中。在Tomcat中是否有类似这样的默认目录设置,这些文件只需放入其中,我的web服务就可以毫不费力地找到这些文件?

也许我不应该在这个设置中使用war文件?也许我应该只提供一个zip文件(具有与war文件相同的内容),并且部署将简单地将该zip解压到webapps目录中?

EN

回答 3

Stack Overflow用户

发布于 2010-07-09 04:04:31

我不知道Tomcat中存储配置的任何默认目录,我尝试解决的相同问题是:

1-将配置移动到数据库,并提供脚本或网页来修改值。

2-有一个脚本来部署war。该脚本将用户目录中的配置合并到web.xml或其他已部署的配置文件中。

3-让webapps首先在用户目录中查找配置,如果找不到,则查找war部署的配置文件。

最不受欢迎的是3-它要求所有used应用检查两个位置的配置,你最终在服务器上得到两个不同的xml文件,具有不同的值,并且并不总是清楚使用哪一个。

下一个最受欢迎的是2- webapps可以在不知道多个配置文件的情况下编写,但是当有人从Tomcat管理器而不是使用您的脚本进行部署时,就会遇到问题。

Favorite为1。这在大多数情况下都有效。问题是当您没有数据库或想要配置连接到数据库的方式时。

票数 0
EN

Stack Overflow用户

发布于 2010-07-09 05:18:08

如果让文件在所有put应用程序中都可见不成问题,您可以将其放入$CATALINA_HOME/lib

票数 0
EN

Stack Overflow用户

发布于 2014-02-07 15:32:58

一种解决方案是在部署war文件后修改属性文件,即使用ServletContext.getRealpath()方法获取实际路径,即文件在部署的服务器上的路径,然后修改该文件,它只修改容器中的文件,而不修改原始文件。所以如果它对你来说是重要的修改,你需要备份它。因此,您不需要重新部署war文件,因为它已经在修改已部署容器中的文件。

这个解决方案可以编辑网页文件夹中的文件,也可以从java类编辑。

如果你想要更多的描述或如何做,那么让我知道我已经做到了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3206599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档