使用Apache Tika时的NoSuchMethodError

时间:2013-09-19 01:04:15

标签: apache-tika

使用Apache Tika

提取JPEG图像的元数据时遇到以下错误
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

正在使用的Tika版本:Tika 1.4

错误的原因是什么?

另请注意,API正确提取不包含任何XMP元数据的图像的元数据。仅对具有XMP元数据的图像发生此错误。

1 个答案:

答案 0 :(得分:4)

Apache Tika使用API​​:metadata-extractor从图像文件中提取元数据。

原因最可能的原因是,如果在类路径中同时包含tika和元数据提取程序库。元数据提取器的二进制文件可能是使用不同版本的XMPCore库构建的,与Tika使用的库相比。

解决方案:从类路径中删除metadata-extractor的库。

两个项目不兼容使用XMPCore库的问题未解决: https://code.google.com/p/metadata-extractor/issues/detail?id=55