javaweb工程无需修改配置文件多环境热加载部署,
2016-11-28 14:22
309 查看
现在碰到这样的问题,有一个web工程打成war包后,需要在开发环境,测试环境,生产环境部署,每次都需要提前修改对应环境的配置信息,比如,数据库地址,zookeeper集群地址等,非常的不方便,并且容易忘记并出错,为了能够一次打包,无需修改配置文件直接多环境热加载部署,提出并实践了以下解决方案:
1.war包改成rpm打包。
传统的war包放在tomcat的webapps目录下,会全量覆盖以前的工程,为了能够不覆盖指定的配置文件(当然这里的配置文件在最开始的时候需要配置一次,以后采用rpm包不会覆盖掉),采用rpm打包方式,rpm有一个很cool的功能,就是能够指定哪些文件不能覆盖,这样的话不同环境的配置信息,除了在最初的时候配置一次,以后升级都不需要重新配置,极大的降低了出错的概率。
2.热加载部署
原先的war包升级后需要重新配置不同环境的配置文件,然后重启tomcat,通过上述方案除了第一次部署需要配置配置信息,以后的升级都不用再配置,至于如何不用重启tocmat,实现工程热加载只需要修改tomcat/conf/server.xml,在<host></host>标签中间添加<Context docBase="工程名" path="/工程名" reloadable="true" source="org.eclipse.jst.j2ee.server:工程名"/>
1.war包改成rpm打包。
传统的war包放在tomcat的webapps目录下,会全量覆盖以前的工程,为了能够不覆盖指定的配置文件(当然这里的配置文件在最开始的时候需要配置一次,以后采用rpm包不会覆盖掉),采用rpm打包方式,rpm有一个很cool的功能,就是能够指定哪些文件不能覆盖,这样的话不同环境的配置信息,除了在最初的时候配置一次,以后升级都不需要重新配置,极大的降低了出错的概率。
2.热加载部署
原先的war包升级后需要重新配置不同环境的配置文件,然后重启tomcat,通过上述方案除了第一次部署需要配置配置信息,以后的升级都不用再配置,至于如何不用重启tocmat,实现工程热加载只需要修改tomcat/conf/server.xml,在<host></host>标签中间添加<Context docBase="工程名" path="/工程名" reloadable="true" source="org.eclipse.jst.j2ee.server:工程名"/>
相关文章推荐
- java非web应用修改 properties/xml配置文件后,无需重启应用即可生效---自动加载
- spring在javaWeb环境中加载 bean 配置文件方式的选择
- Web工程和引用工程的CLASSPATH下存在同一个配置文件,例如test.properties,部署后会加载哪个?
- Eclipse+Tomcat实现热部署/热加载配置,修改java代码无需重启tomcat
- gradle进行工程环境配置(通过修改Asset目录下的文件)
- JavaWeb项目(发布)部署到云服务器 环境搭建 域名绑定项目 配置修改server.xml
- web项目部署在不同环境中需要修改配置文件的解决方法
- 非web java项目部署到linux总结(非打包成jar,配置文件可以随时修改)
- 解决WAMP环境修改apache配置文件不生效问题(Laravel public)
- Linux服务器部署javaweb项目,从环境配置,到最终运行
- SpringBoot源码分析之环境和配置文件的加载
- 部署maven时,src/main/resources里面配置文件加载不到webapp下classes路径下的问题
- linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(修改配置文件)
- 在R12下加载Java Bean,配置FORMS_WEB_CONFIG_FILE文件/通过AutoConfig实现Form Server配置文件的修改
- 可以让myeclipse后台代码修改后不必重新部署的方法(注:不包括配置文件的修改)
- stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法
- Nginx下修改php.ini后重新加载配置文件命令
- 使用tomcat配置文件 部署工程
- 64位ubuntu 配置andorid环境建立工程没有R.java文件
- java基础加强--eclipse工程下的.classpath文件与加载配置文件进行反射