Java Castor库中的NoClassDefFoundError
我正在尝试使用Lizzy库()来处理播放列表。作为依赖项,它要求在构建路径中有Castor库()。所以我去了这个网站,下载了Castor 1.3.1,然后把.jar放到我的构建路径中 但是,当我尝试运行这行代码以将特定播放列表文件转换为通用播放列表对象时:Java Castor库中的NoClassDefFoundError,java,playlist,castor,Java,Playlist,Castor,我正在尝试使用Lizzy库()来处理播放列表。作为依赖项,它要求在构建路径中有Castor库()。所以我去了这个网站,下载了Castor 1.3.1,然后把.jar放到我的构建路径中 但是,当我尝试运行这行代码以将特定播放列表文件转换为通用播放列表对象时: specificPlaylist = SpecificPlaylistFactory.getInstance().readFrom(playlistFile); 我最终得到一个NoClassDefFoundError: Exception
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)
...
线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中的异常:org/exolab/castor/core/exceptions/CastorException
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.DefineClassSecond(未知源)
位于java.lang.ClassLoader.defineClass(未知源)
位于java.security.SecureClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.access$000(未知来源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.DefineClassSecond(未知源)
位于java.lang.ClassLoader.defineClass(未知源)
位于java.security.SecureClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.defineClass(未知源)
位于java.net.URLClassLoader.access$000(未知来源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于org.exolab.castor.mapping.mapping.(mapping.java:81)
位于christophendlory.xml.XmlSerializer.getMapping(XmlSerializer.java:100)
位于christophendlory.playlist.asx.AsxProvider.readFrom(AsxProvider.java:202)
位于christophendlory.playlist.specificplaylayfactory.readFrom(specificplaylayfactory.java:132)
位于christophendlory.playlist.specificplaylayfactory.readFrom(specificplaylayfactory.java:168)
...
我丢失了一个.jar文件吗?我设法创建了一个CastorException类的实例(但它位于与异常所讨论的包不同的包中)。我认为基本的Castor-1.3.1.jar文件包含了它所需要的所有类
附加信息:我正在尝试解码一个.wpl播放列表文件,Lizzy应该支持该文件。我的构建路径如下所示:
感谢您的帮助。您可以使用各种工具轻松查看Castor jar中的内容,WinZip恰好是我的首选工具。您会发现,虽然存在CastoreException,但它位于错误的包中
查看1.3.1下面的代码,我看到一个Castor-1.3.1-core.jar。查看它,我在正确的包中看到CastoreException。您可能还需要其他jar—我会查阅文档,或者通过反复试验继续,或者尝试找到一个POM来告诉您。当您解压缩caster.zip文件时,如果需要任何支持jar,通常它会放在/lib目录中,如果有jar或zip文件的话。试着把这些也包括进去,看看这是否能解决你的问题。好吧,听起来很棒!下次我在电脑前试一试,我会回来报到的。