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

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

Issue appear to be related to the pom.xml.  
The external parser's package is negated.  Which will prevent it from being 
exported out of the bundle.  The org.apache.tika.parser package is also negated 
but it appears to be added back due to the last line.
{code}
             <Export-Package>
              !org.apache.tika.parser,
              !org.apache.tika.parser.external,
              org.apache.tika.parser.*
            </Export-Package>
{code}

I would recommend removing the negations as below.

{code}
            <Export-Package>
              org.apache.tika.parser.*
            </Export-Package>
{code}

> 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)

Reply via email to