我在Windows 8.1上的Tomcat 7.0.57上有一個Web應用程序將它作爲服務運行,它被指示覆制文件在本地網絡共享目錄上,例如\\ Network_machine \ Shared_folder,但無法這樣做。無法讀取網絡共享文件夾上的文件[webbapp作爲服務在tomcat上]
我能夠在沒有任何身份驗證的情況下訪問Windows資源管理器中的共享文件夾,因爲它具有權限,可供所有人閱讀。下面的代碼爲目錄檢查存在:
String sourceURL = this.servletContext.getInitParameter("sourceURL");
log.debug("---------->Source reports directory : " + sourceURL);
File sourceDir = new File(sourceURL);
log.debug("---------->Source directory exists : "+sourceDir.exists());
if (sourceDir.exists()) {
String files[] = sourceDir.list();
log.debug("----------> Total files in source dir :" + files.length);
List<String> newFiles = new ArrayList<String>(Arrays.asList(files));
newFiles.removeAll(processedFiles);
log.debug("----------> Latest files in source dir :" + newFiles.size());
File file = null;
if (newFiles.size() > 0) {
for (String fileName : newFiles) {
file = new File(sourceURL + Constants.FILE_SEP + fileName);
latestSourceFiles.add(file);
}
}
} else {
log.debug("Source reports directory " + sourceURL + " is not found");
}
附加信息:
日誌 - 存在源目錄中返回「假」。
您將需要一個驅動器映射...所以在窗戶'NET USE * \\服務器\ share'或使用安裝(運行在命令提示符下使用net use) –
什麼帳戶是服務正在運行?您確定該帳戶可以訪問網絡資源嗎? –
@MarkWagoner ..該服務正在LocalSystem帳戶下運行。 – rsr