【问题标题】:File Directories and File's not created after deploying War to Tomcat将 War 部署到 Tomcat 后未创建文件目录和文件
【发布时间】:2014-07-16 16:22:46
【问题描述】:

我在使用 WAR 文件将我的 Web 应用程序从部署通过 Eclipse 传输到 Linux 上的 Tomcat 服务器时遇到问题。我正在使用 Tomcat 7.0.53。在本地部署时,我能够创建放入文件夹共享的指定文件夹路径,并将文件放置在这些位置。当尝试通过我的 Tomcat 服务器上部署的 WAR 执行这些过程时,不会创建此文件夹共享中的目录,也不会放置文件。通过日志记录,我知道这些文件夹目标和文件是创建的。这背后有什么可能的原因吗?我不确定此时要发布什么代码,所以如果需要,请随时告诉我。

编辑:一位同事建议我引用文件夹目标的方式是 Windows 方式,而不是 linux 方式。我将目录引用为:

\\servername\directory\BP

他建议linux方式是:

/mtn/servername/directory/BP

不确定这是否重要?

编辑:我使用 /mnt/servername/directory/BP/DEV/num/raw/num2 尝试在 linux 环境中创建此目录,但没有成功。我将不得不进行研究以了解如何使用 linux 环境在文件夹共享中创建此目录。

【问题讨论】:

  • 在 linux 上运行 tomcat 的用户对您为创建文件提供的路径具有适当的权限(写入)?
  • @JorgeCampos 是的
  • 您尝试写入文件的路径在您的 WAR 文件路径内?
  • @JorgeCampos 不,它位于可通过 linux 访问的文件夹共享上
  • 是的,这很重要(你的同事说的)。为了避免此类问题,请在创建路径时使用File.separator。喜欢path = "server" + File.separator + "directory" + File.separator + "BP"

标签: java linux eclipse tomcat war


【解决方案1】:

似乎这些目录是在我的 linux 目录的一个完全不同的部分中创建的。我决定在根级别创建一个文件夹来模拟我的文件夹共享,然后根据我是否在生产环境中使用代码来区分要写入的目标。

我的确切文件目的地是这样的:

/Fakejservdc01/folder/folder/RewardsLoyaltyFiles

如果我需要更深入地挖掘,我会按照@JorgeCampos 告诉我的操作并使用 File.separator。

这似乎解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2016-08-23
    • 2012-05-08
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多