Nick Burch created TIKA-1507:
--------------------------------
Summary: Under OSGi, ForkParser failes to send core parser classes
like ExternalParser
Key: TIKA-1507
URL: https://issues.apache.org/jira/browse/TIKA-1507
Project: Tika
Issue Type: Bug
Components: packaging, parser
Affects Versions: 1.6, 1.7
Reporter: Nick Burch
Under OSGi, if you try to use ForkParser with the Tesseract OCR parser, it will
fail with:
java.lang.NoClassDefFoundError: org/apache/tika/parser/external/ExternalParser
at
org.apache.tika.parser.ocr.TesseractOCRParser.hasTesseract(TesseractOCRParser.java:117)
at
org.apache.tika.parser.ocr.TesseractOCRParser.getSupportedTypes(TesseractOCRParser.java:91)
at
org.apache.tika.parser.CompositeParser.getParsers(CompositeParser.java:81)
at
org.apache.tika.parser.DefaultParser.getParsers(DefaultParser.java:95)
at
org.apache.tika.parser.CompositeParser.getParser(CompositeParser.java:209)
at
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.apache.tika.fork.ForkServer.call(ForkServer.java:144)
at org.apache.tika.fork.ForkServer.processRequests(ForkServer.java:124)
at org.apache.tika.fork.ForkServer.main(ForkServer.java:69)
Caused by: java.lang.ClassNotFoundException: Unable to find class
org.apache.tika.parser.external.ExternalParser
at
org.apache.tika.fork.ClassLoaderProxy.findClass(ClassLoaderProxy.java:117)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
... 13 more
ExternalParser lives in the Tika Core jar, not the Tika Parsers one. This all
works fine outside of OSGi, so it looks like something about the OSGi bundling
is causing the fork parser to fail to send the parser-related classes from Tika
Core over to the forked JVM
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)