我开发了一个java servlet,它监视网络驱动器上的文件夹以获取新文件,然后对它们执行一些操作,具体取决于它是什么类型的文件。当Eclipse和Tomcat相互运行时,它在Eclipse中工作,但现在我已将它部署到服务器(不同的机器)上,servlet会记录它无法找到要映射的文件夹。映射完全相同的网络驱动器,文件夹肯定存在。只有在服务器上运行servlet时才会出现此问题,而不是在开发计算机上运行。
谢谢!
PS: 它是安装了Tomcat v6的Windows Server 2003 Enterprise Server。
答案 0 :(得分:1)
您是否在代码中使用相对路径来查找文件?当代码在IDE或本地Tomcat中运行时,到达文件系统中文件的路径很可能与在其他计算机/环境上运行时到达文件的路径不同。
最好的办法是完全删除代码中的路径,然后从配置文件中加载它们。
答案 1 :(得分:1)
我终于明白了。
事实证明,当Tomcat运行时(显然)正在作为服务运行。该服务看不到与用户相同的方式。事实证明,Windows仅在用户级别安装网络驱动器。因此,根据SYSTEM,驱动器不存在。解决方法是使用UNC路径名。
我最初尝试过,但它没有用,原因是服务没有正确的权限。
感谢所有帮助过我的人。
答案 2 :(得分:0)