我的任务是将 Java Web 应用程序部署到在 Debian Squeeze 上运行的 Tomcat 6.0.35 实例中。因此,Tomcat 是从软件包源安装的,而 Web 应用程序是从自定义 .deb 软件包部署的,该软件包将 .war 文件放入下面的目录中/opt
,并通过将上下文 XML(我们称之为my-app.xml
)放入 中将其注册到 Tomcat /etc/tomcat6/Catalina/localhost/
。这对于初始 .deb 安装很有效,其中应用程序由 Tomcat 的自动部署机制拾取并解压到 中/var/lib/tomcat6/webapps/
。
不过,当重新安装较新版本的 .deb 时,Tomcat 不会更新应用程序。只有当我手动执行
touch /etc/tomcat6/Catalina/localhost/my-app.xml
甚至在不触碰的情况下重新启动 Tomcat 也my-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 时它会发生变化)。
自动部署已在 中开启server.xml
。
有任何想法吗?
答案1
将此行放入文件touch
的安装后脚本中deb