我有以下的Java代码,以检查是否存在远程目录返回false通过命令行或.Bat文件, 但是,如果我使用JavaService.exe将java类包装在Windows服务中,则File.exists()方法返回false;File.exists()使用javaservice.exe
如果使用本地路径,则不会发生该问题。
这是JavaService.exe错误?
JavaService.exe版本:2.0.10.0 平台:Windows 2008中 Java版本:8.0_40
我有以下的Java代码,以检查是否存在远程目录返回false通过命令行或.Bat文件, 但是,如果我使用JavaService.exe将java类包装在Windows服务中,则File.exists()方法返回false;File.exists()使用javaservice.exe
如果使用本地路径,则不会发生该问题。
这是JavaService.exe错误?
JavaService.exe版本:2.0.10.0 平台:Windows 2008中 Java版本:8.0_40
您必须指定一个当前工作目录。因为您正在使用相对路径名称。从批处理开始,使当前工作路径的开始路径。因此,您可以使用当前版的选项提供的路径:
- 电流current_dir(可选) - 一个作为服务当前工作目录使用的目录。如果指定此参数,则服务中的所有 相对路径将相对于指定目录的 。
参见这里:
http://javaservice.ow2.org/docs/devdocs/devcmds.html
更新:
如果您要访问的远程资源,分配给该服务的用户没有访问权限资源。
要更改权限,您必须将特定用户分配给您的服务。默认情况下,服务在本地服务用户帐户上运行。将其更改为适当的用户。
打开服务并在登录“登录”上更改用户。
,或是使用javaservice.exe选项-user:
-user USER_NAME(可选) - 指定Windows域用户名运行的服务时使用(还需要密码 参数被指定)。本地用户帐户被指定为 。\ user_name,而域帐户可能被指定为 domain \ user_name或user_name @ domain(后一种形式在某些系统上需要 才能避免' 进度中的I/O操作'错误)。
我强烈建议阅读上面的链接。
\\ server_web \\封面不是相对路径。无论如何,我正在使用路径参数来定义一个额外的路径。 (-path extra_path(可选)) – josepmra
通过在字符串中使用\\,您只有\并且在窗口上这是相对的。或者您的服务没有权限访问此资源。 – Marcinek