tomcat webapp - 我在哪里存储永久文件

时间:2012-04-17 15:17:48

标签: java tomcat

我正在开发一个在Tomcat上运行的旧Java Web应用程序。我知道通常你从webapps目录运行web应用程序,该目录使用Tomcat的默认服务器配置(server.xml)。使用自定义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上。

2 个答案:

答案 0 :(得分:4)

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

我会找/var/lib中的某个位置,也许是/var/lib/ourapp/...。或者,如果对您的服务器环境及其管理方式有意义,您可以将其存储在$HOME/.ourapp中。

答案 1 :(得分:0)

我建议您将文件保存在Tomcat下(可能在webapps之外或之内)而不是文件系统中的随机目录。
通过这种方式,它以某种方式与您的webapp“捆绑”