2013-03-13 54 views
0

我的C驱动器上有一个目录为C:/ABCD/XYZ,这个目录我映射为D驱动器。 XYZ包含其他几个子目录,即, dir1,dir2
我在Windows XP上安装了作为服务的Tomcat 6。
当我运行我的servlet的代码即,Tomcat6作为Windows服务不承认映射的驱动器

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

这上面的代码行返回值作为false

的代码完全相同的行返回true如果我启动Tomcat 6通过命令行(在此Tomcat是从压缩文件中提取的)。
我意识到这个问题是由于用户(Windows和/或Tomcat)及其权限,但我无法弄清楚究竟是什么问题以及如何解决它。
任何人都可以摆脱一些光?

回答

0

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

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

+0

一些思考的食物。给了我一点新的方向。谢谢。 – 2013-03-13 11:47:02

相关问题