0

我的 C 盘上有一个目录C:/ABCD/XYZ,这个目录我已映射为 D 盘。XYZ包含其他几个子目录,即。dir1dir2
我在 Windows XP 上安装了 Tomcat 6 作为服务。
当我运行包含代码的 servlet 时。

(new File("D:\dir1")).isDirectory();  

上面这行代码返回的值是false

如果我通过命令行启动 Tomcat 6 ,则会返回完全相同的代码true行(此 Tomcat 是从 zip 文件中提取的)。
我意识到这个问题是由于用户(Windows 和/或 Tomcat)及其权限造成的,但我无法确切地弄清楚问题是什么以及如何解决它。
任何人都可以阐明一下吗?

4

1 回答 1

0

您必须意识到您在登录时所做的网络映射发生在您用户的上下文中。服务通常在其自己的上下文中运行,并且没有与任意用户相同的映射。(想象一下两个用户在机器上拥有帐户:两者都可以有不同的驱动器映射——服务应该采用哪一个?)

我有一段时间没有使用 Windows,所以我将依靠您自己找到有关如何为服务映射驱动器的信息 - 或依靠其他人指出实际位置。希望这个快速回答至少有助于理解潜在的问题

于 2013-03-13T09:43:36.023 回答