远程部署到tomcat

时间:2016-02-08 10:48:55

标签: tomcat web-deployment tomcat-manager

我想使用maven将应用程序(war)部署到远程tomcat(v7)中,保留现有的context.xml - 或者也可以使用war部署context.xml。 我认为这是一个经典的问题,如果你想通过管理器重新部署到tomcat,它会执行一个取消部署和一个部署顺序 - 它取消部署context.xml作为副作用,然后应用程序无法启动。

我已经尝试过:

  • 具有不同设置的货物 - 无变化
  • '自动部署' = false - 在tomcat 7下无效。
  • 限制tomcat编写自己的config目录 - 抛出错误消息并且tomcat 7无法启动
  • 将每个上下文信息放入一个context.xml.default - 不删除上下文,但不幸的是我们有一些应用程序在不同的上下文中使用相同的键 不同的价值观: - )
  • 将上下文配置放入替代路径 - $ {catalina.base}之外 - 无法使其正常工作
  • 构建一个容器(docker)并重新部署 - 这是有效的,但目前这不是一个选项

我正在考虑编写一个简单的ssh脚本(stop-tomcat,copy-war,start-tomcat)或替代管理器脚本,但首先我想在重新发明轮子之前问你。 我看到了使用&tomcat7-maven-plugin'的解决方案,但听说它只适用于本地tomcat。 我并不坚持要获得一个完整的maven解决方案:如果你使用简单的REST调用管理器建议一个解决方案,我也可以在maven中实现。

因此问题分为三种可能的解决方案(在tomcat7下):

  • 通过取消部署保留context.xml
  • 使用war
  • 部署context.xml
  • 重新部署应用程序而不取消部署

你知道一个可靠的解决方案吗?

1 个答案:

答案 0 :(得分:0)

最后,我推出了一个运行脚本的不太好但工作正常的解决方案: - 登录tomcat机器 - 停止实例 - 清理webapps目录 - 将战争下载到webapps目录 - 启动实例

再次:tomcat 6和8中不存在这个问题: - )