NoClassDefFoundError в библиотеке Castor - PullRequest
1 голос
/ 30 марта 2012

Я пытаюсь использовать библиотеку Lizzy (http://lizzy.sourceforge.net/) для выполнения некоторых манипуляций со списком воспроизведения. В качестве зависимости требуется наличие библиотеки Castor (http://www.castor.org/) в моем пути сборки.Я зашел на сайт и скачал Castor 1.3.1, а затем вставил .jar в путь сборки.

Однако, когда я пытаюсь запустить эту строку кода, чтобы преобразовать определенный файл списка воспроизведения в общий список воспроизведенияобъект:

specificPlaylist = SpecificPlaylistFactory.getInstance().readFrom(playlistFile);

В итоге я получаю NoClassDefFoundError:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/exolab/castor/core/exceptions/CastorException
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.exolab.castor.mapping.Mapping.<init>(Mapping.java:81)
    at christophedelory.xml.XmlSerializer.getMapping(XmlSerializer.java:100)
    at christophedelory.playlist.asx.AsxProvider.readFrom(AsxProvider.java:202)
    at christophedelory.playlist.SpecificPlaylistFactory.readFrom(SpecificPlaylistFactory.java:132)
    at christophedelory.playlist.SpecificPlaylistFactory.readFrom(SpecificPlaylistFactory.java:168)
    ...

Мне не хватает файла .jar? Мне удалось создать экземпляр класса CastorException (но он был впакет, отличный от того, о котором говорится в исключении.) Я думал, что базовый файл Castor-1.3.1.jar содержит все необходимые ему классы.

Дополнительная информация: я пытаюсь декодироватьФайл списка воспроизведения .wpl, который должен поддерживать Lizzy. И мой путь сборки выглядит следующим образом:

My Build Path

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 30 марта 2012

Вы можете легко заглянуть в банку Castor, чтобы увидеть, что там происходит, используя самые разные инструменты - WinZip - мой любимый инструмент. Вы обнаружите, что, хотя CastorException и находится в неправильном пакете.

Глядя на страницу старых загрузок в 1.3.1, я вижу Castor-1.3.1-core.jar. Глядя в него, я вижу CastorException в правильной упаковке. Вам также могут понадобиться другие баночки - я ознакомлюсь с документацией, продолжу методом проб и ошибок или попытаюсь найти POM, который сообщит вам.

...