2012-03-30 205 views
1

我试图使用Lizzy库(http://lizzy.sourceforge.net/)来执行一些播放列表操作。作为依赖项,它需要我的构建路径中有Castor库(http://www.castor.org/)。于是我去了网站,下载了Castor 1.3.1,然后把.jar放到了我的构建路径中。Castor库中的NoClassDefFoundError

然而,当我尝试运行这行代码到一个特定的播放列表文件转换成通用的播放列表对象:

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

感谢您的帮助。

+0

当你解压缩caster.zip文件时,如果有任何支持jar的话,通常它会放在/ lib目录下,如果那里有任何jar或zip文件的话。尝试包括这些也看看是否解决了你的问题。 – Churk 2012-03-30 18:36:27

回答

2

您可以使用各种各样的工具轻松查看Castor的罐子,看看那里有什么 - WinZip恰好是我的首选工具。你会发现虽然有一个CastorException,但是它包装错误。

查看1.3.1下的old downloads page,我看到一个Castor-1.3.1-core.jar。在它看来,我看到在正确的包装CastorException。您可能还需要其他罐子 - 我会查阅文档,或继续进行试错,或尝试找到可以告诉您的POM。

+0

好吧,听起来不错!下次我在我的电脑上,我会给它一个镜头,并报告回来。 – Nico 2012-03-30 21:03:17

+0

是的,我加入了 - 核心,它做了诡计,谢谢! – Nico 2012-03-30 22:18:00