【问题标题】:NoClassDefFoundError in the Castor libraryCastor 库中的 NoClassDefFoundError
【发布时间】:2012-03-30 18:33:06
【问题描述】:

我正在尝试使用 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 播放列表文件。我的构建路径如下所示:

感谢您的帮助。

【问题讨论】:

  • 解压caster.zip文件时,如果有需要的支持jar,一般放在/lib目录下,如果有jar或zip文件的话。尝试将这些也包括在内,看看是否能解决您的问题。

标签: java playlist castor


【解决方案1】:

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

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

【讨论】:

  • 好吧,听起来不错!下次我在我的电脑前报告问题时,我会试一试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多