2017-04-26 1 views
2

다른 웹 사이트에서 데이터를 스크랩하고 Apache poi를 사용하여 Excel에서 데이터를 읽고 쓰고 있습니다.java.io.IOException : XSSFWorkbook을 닫는 동안 jenkins에서 권한이 거부되었습니다.

writeWorkbook.close() 메서드에서 권한이 거부되었습니다 (writeWorkbook은 XSSFWorkbook의 개체 임).

1) 웹 사이트에서 데이터 읽기 2) 특정 Excel 시트에 쓰십시오. 3) 파일 출력 스트림 닫기 4) XSSFWorkbook 개체 닫기. 네 번째 단계에서 권한이 거부되었습니다. 오류가 발생했습니다.

이 전체 시나리오는 jenkins에서 jar 파일까지 실행 중입니다. 젠킨스는 파일 및 디렉토리에 대한 모든 권한을 가지고 있습니다.

그래서 무엇이 어디서 잘못 되었습니까.

고맙습니다.

답변

0

정확히 XSSFWorkbook에서 Excel 파일을 어떻게 사용하고 있습니까?

XSSFWorkbook에 대한 쓰기 작업이 끝나면 OPCPackage 개체를 닫는 것만으로도 충분합니다. 파일을 닫을 필요가 없습니다.

// XSSFWorkbook, File 
    OPCPackage pkg = OPCPackage.open(new File("file.xlsx")); 
    XSSFWorkbook wb = new XSSFWorkbook(pkg); 
    .... 
    pkg.close(); 

는 것을 docs 상태 : 당신이 통합 문서 작업을 완료 한 후에는

, 당신이 파일을 떠나 피하기 위해) POIXMLDocument.close을 (호출하여 패키지를 닫아야 오픈 처리합니다.

+0

고마워요. 내 문제를 해결했다. 그러나 여전히 통합 문서 개체를 닫을 수있는 권한이 거부되었습니다. 그 생각을 알아? – SahilPatel

관련 문제