java.io.FileNotFoundException: (доступ запрещен) на java.io.FileInputStream.open (собственный метод) Удаленный клиент Tomcat Server, читающий Excel-клиент - PullRequest
0 голосов
/ 07 марта 2012

Я работаю над веб-приложением, которое считывает файл Excel по указанному пути и импортирует данные из файла Excel в базу данных Oracle. Эта функциональность абсолютно работает, когда я запускаю ее на своей локальной машине tomcat, но когда я ее развертываю на удаленном сервере tomcat, выдается следующее исключение:

java.io.FileNotFoundException: Z:\02_Information_DataBase\ImportingTool\eMan.xls (The     system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at modules.report.dao.POIExcelReaderDao.displayFromExcel(POIExcelReaderDao.java:156)
at modules.report.service.POIExcelReaderService.displayFromExcel(POIExcelReaderService.java:91)
at modules.report.controller.ReportController.service(ReportController.java:118)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at modules.index.controller.IndexController.service(IndexController.java:87)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source

Удаленный сервер Tomcat имеет достаточные разрешения для указанного пути к файлу, но даже в этом случае он говорит, что доступ запрещен.

Я много занимался серфингом в интернете, но тщетно ... ни одно из решений не помогло мне. Может ли кто-нибудь поделиться информацией о проблеме ..... ???

1 Ответ

0 голосов
/ 08 марта 2012

Z звучит как подключенный диск.

Подключенные диски недоступны для серверных процессов, которые запускаются как служба, даже если они работают как пользователь.

Вместо этого используйте полный квалифицированный UNC-путь.

* update: Можно сопоставить диск самим процессом и использовать его, но вы не должны этого делать.

...