Tomcat 无法识别 Linux 中的上下文文件

Tomcat doesn't recognize context file in Linux

在我的开发机器 (运行 Windows 10) 上,我正在使用 Tomcat 9 开发和测试网络应用程序。 由于该应用程序需要一个我不想包含在该应用程序的 WAR 包中的连接字符串,因此我将其放在上下文 XML 文件中并将该文件保存到 tomcat/conf/Catalina/localhost/<war_name>.xml,正如 official documentation 中所建议的那样。这在 Windows.

下完美运行

现在我正在尝试部署到生产机器,即 运行 Linux Debian 10。我已经安装了相同版本的 Tomcat 并将上下文文件放在相同的位置,但是这次它不起作用:无法识别上下文文件并且应用程序无法启动,因为它找不到所需的连接字符串。为了让它工作,我必须将上下文文件放在 /tomcat/webapps/<war_name>/WEB-INF/context.xml 中。这行得通,但很烦人,因为每次重新部署应用程序时,它都会在那个位置被删除,所以每次我重新部署时,我都必须将它复制过来。

这是在 Windows 而不是 Linux 上工作的原因吗?为什么会这样?

好吧...经过进一步测试,事实证明它正在读取上下文文件,但由于某种原因它没有立即读取。我必须等待几分钟,然后从管理器控制台手动启动 webapp...奇怪