【发布时间】:2016-07-22 23:25:38
【问题描述】:
注意:这是我的第一个堆栈溢出问题,如果很糟糕,请原谅我。
对于一个学校项目,我一直在尝试访问百万歌曲数据集。我在 C++ 和 Java 中安装时遇到了多个问题,似乎都不起作用。使用 Java 版本,我只是在他们的网站上找到了所需的 jar 文件并将它们从外部导入。 Eclipse 似乎没有问题,直到我打开文件(我还链接了 hdf5.dll),我收到了这个错误:
线程“主”java.lang.NoClassDefFoundError 中的异常:无法初始化类 ncsa.hdf.hdf5lib.HDF5Constants 在 ncsa.hdf.object.h5.H5File.(H5File.java:98) 在 ncsa.hdf.object.h5.H5File.(H5File.java:143) 在 hdf5_getters.hdf5_open_readonly(hdf5_getters.java:52) 在 hdf5_getters.main(hdf5_getters.java:564) 在 Main.main(Main.java:7)
我真的认为这只是我没有正确安装 Java-hdf 库,但是我不确定如何正确安装它们。我阅读了使用 CMake 编译一些二进制文件的内容,但是在编译 CMake 时抛出了一些未知错误,所以我完全陷入困境。请帮助正确安装,如果需要,我可以提供更多信息。
这是检索存储在数据库中的歌曲字段所需的 getter 的来源:https://github.com/tbertinmahieux/MSongsDB
这是我尝试遵循的说明,然后最终找到并下载了适当的 .jar 文件,并在 eclipse 中作为外部 jar 导入: https://www.hdfgroup.org/products/java/release/downloadsrc.html#src
【问题讨论】:
-
这里是百万歌曲数据集:labrosa.ee.columbia.edu/millionsong
-
请包含完整的堆栈跟踪。应该有一个“原因”来解释问题的真正原因。如果它不在此堆栈跟踪中,它将在较早的堆栈跟踪中。
-
这是完整的堆栈跟踪,因此很难弄清楚。
-
那么日志文件中一定有更早的异常,或者某处。 “无法初始化类”消息意味着先前尝试初始化失败的类。这将导致异常......并且该异常的堆栈跟踪/消息将为初始化失败的位置/原因提供一些线索。
-
感谢您的帮助,我预计异常发生在库类文件的某些部分并且没有显示出来。无论如何,我最终通过(最终)找到了具有适当匹配 .dll 的 2010 年的旧版本 hdf5 库来解决问题。花了一整天的时间试图从 C++ 到 Java 再到 Python 访问这个数据集....
标签: java eclipse dataset installation hdf5