1

我正在尝试使用 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 文件包含它需要的所有类。

附加信息:我正在尝试解码 Lizzy 应该支持的 .wpl 播放列表文件。我的构建路径如下所示:

我的构建路径

谢谢你的帮助。

4

1 回答 1

2

您可以使用多种工具轻松查看 Castor jar 以查看其中的内容 - WinZip 恰好是我的首选工具。您会发现虽然有 CastorException,但它位于错误的包中。

查看 1.3.1 下的旧下载页面,我看到了 Castor-1.3.1-core.jar。查看它,我在正确的包中看到了 CastorException。您可能还需要其他 jar - 我会查阅文档,或者通过反复试验继续,或者尝试找到会告诉您的 POM。

于 2012-03-30T18:48:16.817 回答