我正在Windows 7上运行的Tomcat服务器上运行Web应用程序(用Java编写)。在该应用程序的某个位置,我尝试通过基本java.io.File类访问远程计算机上的目录。
如果我通过“ tomcat6.exe // TS // MyServiceName”从命令行启动Tomcat,则我的应用程序可以成功找到网络目录。但是,当我将Tomcat作为服务启动时,它认为该目录不存在。
根据一些研究,我认为这是身份验证问题。我已经将Windows服务更新为“登录为”域用户帐户,并且已经更新了tomcat服务以使用’tomcat6.exe // US // MyServiceName –User =“ bhardage”添加用户名和密码。 –Password =“ xxx”’,但是即使进行了这两个更改,它仍然找不到网络目录。
我也尝试过’tomcat6.exe // US // MyServiceName –User =“ mydomain \\ bhardage” –Password =“ xxx”’,但是没有运气。
谁能告诉我让我的Web应用程序在其他用户下运行的正确方法?
任何帮助/建议,我们将不胜感激。
谢谢,
北京
“登录身份”功能似乎存在一些问题。也许这些问题仍然存在。
您可以尝试通过Windows服务管理器中tomcat服务的属性来设置用户帐户。
这是一个说明。看一下尝试次数3。它基于旧版本的tomcat(5.5),但工作方式相同。
编辑:
服务启动tomcat时,可能未映射您的网络目录。这可能是因为用户在单独的登录操作中登录。
在访问网络目录之前,尝试执行“ net use”命令。这可以通过以下方式完成:
Runtime.exec("net use Z: \\\\My\\Share")