Средство извлечения метаданных Java вызывает ошибку java.lang.NoClassDefFoundError

Я пытаюсь использовать эту библиотеку для извлечения метаданных изображений в Java https://github.com/drewnoakes/metadata-extractor , используя NetBeans.

Я импортировал файл metadata-extractor-2.7.0.jar в папку jar проекта и, как сказано в файле readme, просто делаю:

File file = fc.getSelectedFile ();
try {
    Metadata metadata = ImageMetadataReader.readMetadata(file);
} catch ( ImageProcessingException ex ) {
    Logger.getLogger ( UserInterface.class.getName() ).log ( Level.SEVERE, null, ex );
} catch ( IOException ex ) {
    Logger.getLogger ( UserInterface.class.getName() ).log ( Level.SEVERE, null, ex );
}

но я всегда получаю

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
at com.drew.imaging.jpeg.JpegMetadataReader.<clinit>(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)

Есть ли что-то, что мне нужно настроить в Netbeans, прежде чем я начну использовать эту библиотеку?


person Ozeta    schedule 16.12.2014    source источник


Ответы (1)


Только что решено: для правильной работы необходимо импортировать библиотеку xmpcore-5.1.2.jar!

person Ozeta    schedule 16.12.2014
comment
Да, это все, что вам нужно. Это было как-то непонятно из файла README? Если нет, то как его можно улучшить? - person Drew Noakes; 17.12.2014
comment
Привет, Дрю, я рад поговорить с тобой! Учтите, что я всего лишь студент, поэтому я не слишком увлекаюсь кодированием и библиотеками, поэтому, когда я открыл Zip, я установил только экстрактор метаданных, а не другую библиотеку: D. Во всяком случае, в этом README нет никаких ссылок на xmpcore-5.1.2.jar, так что вы можете просто добавить его - person Ozeta; 17.12.2014
comment
Я добавил некоторую информацию на страницу Начало работы, ссылку на которую можно найти в файле README. Спасибо за ответ. - person Drew Noakes; 17.12.2014
comment
Те, кто использует Maven для доступа к metadata-extractor package не нужно беспокоиться, так как xmpcore является объявленной зависимостью и поэтому загружается автоматически. - person Drew Noakes; 01.02.2015