1

我正在开发一个在 Tomcat 上运行的旧 Java Web 应用程序。我知道通常您从使用 Tomcat 的默认服务器配置 (server.xml) 的 webapps 目录运行 Web 应用程序。这个特定的应用程序使用自定义 server.xml 部署到不同的目录,因此每个应用程序需要 1 个 tomcat 实例。我相信最初以这种方式设置的原因是因为每个 Web 应用程序都会生成必须在应用程序重新部署之间保存的文件。

我的问题是 - 有没有办法使用 webapps 目录,但也可以保存某些文件在重新部署应用程序期间不被清除?

这是我们当前的tomcat的布局

tomcat/
  servers/
    ourapp/
      output/   # heres where the files go that we save
      ourapp/   # this is the actual webapp (exploded WAR file)
        WEB-INF/
        ...

我想要类似的东西

tomcat/
  webapps/
    ourapp/
      output/  # but this is saved between redeploys
      WEB-INF/
    ...

我的最终目标是摆脱自定义 server.xml,因此我们在一个 tomcat 实例上部署多个应用程序。以防万一——我们在 Tomcat 6 上。

4

2 回答 2

4

webapps/如果您希望它们持久存在,我建议不要尝试将这些文件存储在其中。该目录非常不稳定。此外,维护系统的其他开发人员可能没有意识到您已经在那里存储了持久数据,并且可能只是不小心擦除了它。

/var/lib可能会去寻找一个地点/var/lib/ourapp/...。或者,$HOME/.ourapp如果这对您的服务器环境及其管理方式有意义,您可以将其存储在其中。

于 2012-04-17T15:21:03.307 回答
0

我建议您将文件保存在Tomcat(可能是 outside 或 inside webapps)而不是文件系统中的随机目录中。
这样,它以某种方式与您的网络应用程序“捆绑”

于 2012-04-17T15:31:01.490 回答