我的任务涉及将 Java Web 应用程序部署到在 Debian Squeeze 上运行的 Tomcat 6.0.35 实例中。因此,Tomcat 是从包源安装的,Web 应用程序是从自定义 .deb 包部署的,该包将 .war 文件放入下面的目录中/opt
,并通过将上下文 XML(我们称之为my-app.xml
)放入/etc/tomcat6/Catalina/localhost/
. 这适用于初始 .deb 安装,其中应用程序由 Tomcat 的自动部署机制拾取并解压缩到/var/lib/tomcat6/webapps/
.
但是,当重新安装较新版本的 .deb 时,Tomcat 不会更新应用程序。如果我手动执行一个,它只会检测到一个变化
touch /etc/tomcat6/Catalina/localhost/my-app.xml
即使不碰重启tomcatmy-app.xml
也没有效果。
my-app.xml
看起来像这样:
<Context path="/my-app" docBase="/opt/my-app/my-app.war">
<WatchedResource>/opt/my-app/my-app.war</WatchedResource>
</Context>
恕我直言,这应该注意 .war 的变化(当我安装更新的 .deb 时会发生变化)。
Autodeploy 在server.xml
.
有任何想法吗?
将该
touch
行放入deb
文件的安装后脚本中