[ 
https://issues.apache.org/jira/browse/TIKA-1507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623854#comment-14623854
 ] 

Bob Paulin commented on TIKA-1507:
----------------------------------

Stuart McCulloch got back to me from the maven-bundle-plugin side.  I missed 
the fact that there is a resource under org.apache.tika.parser.external in the 
parser project which causes a split package.  I would suggest we look into 
moving that file to another package location or up into tika-core to resolve 
the split package.  If we do this we can disregard the patch.

> 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
>         Attachments: TIKA-1507B.patch
>
>
> 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)

Reply via email to