2012-03-30 85 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