pdf 파일의 내용 색인을 위해 PDFBox 및 tika를 사용하고 있습니다. 모든 것은 PDFFBox 1.8으로 잘 작동하지만 2.0.2에 PDFBox를 업데이트 할 때 다음 오류 아래 저를주고이 문제를 해결하기 위해PDFBox를 1.8에서 2.0.2로 업데이트 한 후에 PDF 파일을 인덱싱 할 수 없습니다.
(Thread-62 (HornetQ-client-global-threads-2071379348)) Exception while creating solr doucment for content::Failed to close temporary resources: org.apache.tika.exception.TikaException: Failed to close temporary resources
at org.apache.tika.io.TemporaryResources.dispose(TemporaryResources.java:152)
at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:149)
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
at org.hornetq.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:91)
at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983)
at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48)
at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Could not delete temporary file C:\Users\FILESE~1\AppData\Local\Temp\apache-tika-7918716906396425097.tmp
at org.apache.tika.io.TemporaryResources$1.close(TemporaryResources.java:70)
at org.apache.tika.io.TemporaryResources.close(TemporaryResources.java:121)
at org.apache.tika.io.TemporaryResources.dispose(TemporaryResources.java:150)
... 18 more
당신이 좀 도와 주시겠습니까? 여기
compile "org.apache.poi:poi:3.8"
compile "org.apache.poi:poi-ooxml:3.8"
compile "org.apache.poi:poi-scratchpad:3.8"
compile "org.apache.pdfbox:pdfbox:2.0.2"
compile 'org.apache.tika:tika-parsers:1.5'
compile 'org.apache.tika:tika-core:1.5'
을 나는 티카 1.5 사용하고이 버전은 pdfbox 2.0.3을 suports :
나는 this.
의 내 Gradle을 의존성은 2.0.2 때문에 PDFBox를 업데이트했습니다. 당신은 당신 티카 버전 1.5을 사용하고이 거기 PDFBox 버전 2.x, 그리고 PDFBox 2.0 전에 티카 1.5 긴 2014 년 2 월 출시 된 점을 고려 매우 받아들이 기 어려운 것입니다
Tika 1.5 supports pdfbox 2.0.3
을 주장 here
어떻게 업그레이드 했습니까? 내 최고의 추측은 당신이 그것을 올바르게하지 않은 것입니다. – Gagravarr
나는 gradle을 사용하고 있으므로 버전을 변경하십시오 : "org.apache.pdfbox : pdfbox : 2.0.2"를 컴파일하십시오. 그리고 명령을 실행 gradle 깨끗한 빌드. 내 POI는 다음과 같이 보입니다 : org.apache.poi : poi : 3.8 " \t"org.apache.poi : poi-ooxml : 3.8 " \t compile"org.apache.poi : poi-scratchpad : 3.8 "참고 : 빌드가 성공적으로 생성됩니다. –
Stacktrace에는 PDFBox에 대한 언급이 없지만 Tika 클래스 만 예외로 간주됩니다. 따라서 Tika 버전이 PDFBox 2.0.2와 호환되는지 확인 했습니까? Tika 설명서를 올바르게 읽으면 PDFBox 2를 지원합니다.x는 1.13 이전 버전에는 없었습니다. – mkl