我们的Tomcat实例运行了许多不同的webapps:主要是Struts / Struts2,但是引入了奇怪的Grails应用程序。
如果我需要更新Struts应用程序,通常我只需从开发机器上复制树,并在web.xml更新时重新启动应用程序。
使用Grails似乎更有问题。复制树并重新启动应用程序几乎永远不会工作......明显缺少类,数据库连接错误等。我发现的唯一功能就是完全停止tomcat,更新应用程序,然后重新启动tomcat。显而易见的缺失类不再丢失,数据库连接正常,没有任何代码更改。但是,这显然也会使所有其他应用程序失效。
还有其他人见过类似的问题吗?有没有我缺少的技巧?
答案 0 :(得分:4)
将树复制到应用程序服务器is discouraged。 最好的方法是将Grails应用程序打包为WAR:
# grails war
或者如果你configured maven:
# mvn clean package
这可确保设置“生产”环境。
然后,如果deploy the WAR file被禁用或无法正常工作,您可以Tomcat Manager使用autoDeploy
重新启动网络应用。