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)