【问题标题】:java.io.FileNotFoundException:(Access is denied) at java.io.FileInputStream.open(Native Method) Remote Tomcat Server read excel client machinejava.io.FileNotFoundException:(Access is denied) at java.io.FileInputStream.open(Native Method) 远程 Tomcat 服务器读取 excel 客户端机器
【发布时间】:2012-03-07 14:54:58
【问题描述】:

我正在开发一个 Web 应用程序,它从指定路径读取 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服务器对指定文件路径有足够的权限,但即便如此,它仍然说访问被拒绝。

我在互联网上进行了很多冲浪,但徒劳无功....没有任何解决方案可以帮助我。任何人都可以分享有关该问题的信息.....???

【问题讨论】:

  • Z 是映射驱动器吗?运行服务器的帐户是否有权访问该驱动器?
  • 你能去Z:\02_Information_DataBase\ImportingTool\ 路径并检查eMan.xls是否存在吗?如果不是,请先在代码开头创建文件..
  • 是的,运行服务器的帐户对映射的网络驱动器具有足够的权限......并且文件 eMan.xls 存在于指定位置...... ..

标签: java excel filenotfoundexception fileinputstream access-denied


【解决方案1】:

Z 听起来像一个映射驱动器。

映射驱动器不适用于作为服务启动的服务器进程,即使它们以用户身份运行。

Use the full qualified UNC-path instead.

*更新: 可以通过进程本身映射驱动器并使用它,但您不应该这样做。

【讨论】:

  • 感谢您的回复....好吧,我什至尝试了 UNC 路径,但结果没有任何改善。您能否给我任何其他可以将我拖到更好位置的想法??
猜你喜欢
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多