我正在尝试使用Lizzy库(http://lizzy.sourceforge.net/)来执行一些播放列表操作。作为依赖项,它要求我的构建路径中有Castor库(http://www.castor.org/)。因此,我访问该站点,下载Castor1.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支持的。我的构建路径如下所示:

谢谢你的帮助。
发布于 2012-03-31 02:48:17
您可以很容易地在Castor jar中使用各种工具查看其中的内容- WinZip恰好是我选择的工具。您会发现,虽然有一个CastorException,但它在错误的包中。
查看1.3.1下的old downloads page,我看到了一个Castor-1.3.1-core.jar。看一看,我发现CastorException在正确的包中。您可能还需要其他jars我会参考文档,或者继续反复试验,或者尝试找到一个可以告诉您的POM。
https://stackoverflow.com/questions/9948587
复制相似问题