Magnus Lövgren created TIKA-1068:
------------------------------------

             Summary: Metadata-extractor throws NoSuchMethodError for jpg image 
with xmp header data
                 Key: TIKA-1068
                 URL: https://issues.apache.org/jira/browse/TIKA-1068
             Project: Tika
          Issue Type: Bug
          Components: parser
    Affects Versions: 1.3
            Reporter: Magnus Lövgren
            Priority: Critical
         Attachments: vinter080501-66.jpg

Using Tika 1.3, parsing of jpg files throws NoSuchMethodError when the jpg 
contains xmp data. No Error was thrown in Tika 1.2.

The metadata-extractor was updated in Tika 1.3 (to 
"com.drewnoakes:metadata-extractor:2.6.2"), See TIKA-811 (duplicated by 
TIKA-996). That jar is badly compiled (as mentioned by Emmanuel Hugonnet as 
comment on TIKA-915) and causes the NoSuchMethodError!

=> the metadata-extractor 2.6.2 jar needs to be replaced! Problem seems fixed 
in metadata-extractor 2.7.0, but that isn't released yet.


Discussions available at:
http://code.google.com/p/metadata-extractor/issues/detail?id=39
http://code.google.com/p/metadata-extractor/issues/detail?id=55


Code to reproduce problem:
=========================
<dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>1.3</version>
</dependency>
<dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-xmp</artifactId>
        <version>1.3</version>
</dependency>
<dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>1.3</version>
</dependency>


InputStream inputStream = ... // vinter080501-66.jpg file (attached)
ContentHandler contentHandler = new BodyContentHandler(2000000);
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
Parser parser = new AutoDetectParser();
parser.parse(inputStream, contentHandler, metadata, context); // Throws 
NoSuchMethodError

=> java.lang.NoSuchMethodError: 
com.adobe.xmp.properties.XMPPropertyInfo.getValue()Ljava/lang/Object;
        at com.drew.metadata.xmp.XmpReader.extract(Unknown Source)
        at 
com.drew.imaging.jpeg.JpegMetadataReader.extractMetadataFromJpegSegmentReader(Unknown
 Source)
        at com.drew.imaging.jpeg.JpegMetadataReader.readMetadata(Unknown Source)
        at 
org.apache.tika.parser.image.ImageMetadataExtractor.parseJpeg(ImageMetadataExtractor.java:91)
        at org.apache.tika.parser.jpeg.JpegParser.parse(JpegParser.java:56)
        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)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to