2016-02-25 2 views
0

Ну, я обновил свой компьютер разработки до окон 10 из окон 7. Когда я пытаюсь запустить приложение, которое ранее работало, оно генерирует странную ошибку.Доступ запрещен при создании файла с использованием BIPublisher

Я использую BIPublisher.FOprocessor для создания pdf-файлов для отчетности. Я использую jdk7 с Netbeans8.0.2 IDE и моей веб-приложение работает на Apache Tomcat 7.0.27

Когда я пытаюсь генерировать ФПВ

 //Now process the XSLFO template against the XML data  
     // Instantiate the FOprocessor  
     FOProcessor processor = new FOProcessor(); 
     // set CFG input file  
     processor.setConfig(sourceFileLocation + "xdo.cfg"); 
     // set XML input file  
     processor.setData(sourceOutputFileLocation + inputXMLFile); 
     // set XSL input file  
     processor.setTemplate(sourceOutputFileLocation + inputXSLFile); 

     // set the output format 
     if (fOutputFormat.equalsIgnoreCase(".pdf")) { 
      processor.setOutputFormat(FOProcessor.FORMAT_PDF); 
     } else if (fOutputFormat.equalsIgnoreCase(".html")) { 
      processor.setOutputFormat(FOProcessor.FORMAT_HTML); 
     } else if (fOutputFormat.equalsIgnoreCase(".xls")) { 
      processor.setOutputFormat(FOProcessor.FORMAT_EXCEL); 
     } else if (fOutputFormat.equalsIgnoreCase(".rtf")) { 
      processor.setOutputFormat(FOProcessor.FORMAT_RTF); 
     } else { 
      processor.setOutputFormat(FOProcessor.FORMAT_PDF); 
      outputFile = Fname + rInt + ".pdf"; 
     } 

     //set output file  
     processor.setOutput(outputLocation + outputFile); 
     processor.generate(); //HERE IS THE EXCEPTION 

Я получаю следующее исключение

WARNING: oracle.xdo.XDOIOException: java.io.IOException: Access is denied 
    at oracle.xdo.template.FOProcessor.getTmpFOFile(FOProcessor.java:2003) 
    at oracle.xdo.template.FOProcessor.createFO(FOProcessor.java:1971) 
    at oracle.xdo.template.FOProcessor.generate(FOProcessor.java:1117) 
    at admin.reports.XMLpublisher.foProcessorEngine(XMLpublisher.java:97) 
    at admin.reports.XMLpublisher.XMLout_CreateDocument(XMLpublisher.java:371) 
    at admin.db.TR.DownloadAttendeeLunchList.getReport(DownloadAttendeeLunchList.java:101) 
    at admin.db.TR.DownloadAttendeeLunchList.processRequest(DownloadAttendeeLunchList.java:42) 
    at admin.db.TR.DownloadAttendeeLunchList.doGet(DownloadAttendeeLunchList.java:128) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at com.opcat.gzip.GZIPFilter.doFilter(GZIPFilter.java:36) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.IOException: Access is denied 
    at java.io.WinNTFileSystem.createFileExclusively(Native Method) 
    at java.io.File.createTempFile(File.java:2001) 
    at oracle.xdo.common.tmp.TmpFile.createTmpFile(TmpFile.java:85) 
    at oracle.xdo.template.FOProcessor.getTmpFOFile(FOProcessor.java:1999) 
    ... 28 more 

Feb 25, 2016 1:02:57 PM oracle.xdo.template.FOProcessor 
SEVERE: End Memory: max=2709MB, total=872MB, free=117MB 

Я пробовал много решений до сих пор, но никто не работает:

  1. Предоставить разрешение на выход ctory
  2. Переместить выходной каталог от корня (с :)
  3. Запуск моего Tomcat в качестве администратора
  4. Дайте полные права доступа пользователя к моему локальному диску

Я из идей. Кто-нибудь знает, в чем проблема? Очевидно, что код не является проблемой, потому что он работает нормально в Windows 7 и Windows Server 2008, где развернута моя производственная среда.

ответ

0

Проблема заключалась в том, что мне пришлось запускать Netbeans IDE с повышенной командой для развертывания моего приложения с полными разрешениями.

В $ NETBEANS_INSTALLATION_PATH \ Bin \ netbeans64.exe> ​​Свойства> Совместимость> Изменить настройки для всех пользователей -> Tick вариант Run this program as an administrator

enter image description here

Смежные вопросы