注意:这是我的第一个堆栈溢出问题,如果它是可怕的原谅我。
对于一个学校项目,我一直试图访问百万歌数据集。我在C ++和Java中安装有多个问题,似乎都没有用。使用Java版本,我只是在他们的网站上找到了所需的jar文件并从外部导入它们。在我打开文件(我还链接了hdf5.dll)之前,Eclipse似乎没有问题,我收到此错误:
线程中的异常" main" java.lang.NoClassDefFoundError:无法初始化类ncsa.hdf.hdf5lib.HDF5Constants 在ncsa.hdf.object.h5.H5File。(H5File.java:98) 在ncsa.hdf.object.h5.H5File。(H5File.java:143) at 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
答案 0 :(得分:1)
这是使用该人的实现访问此数据集的任何相关问题的解决方案。不幸的是,它在2010/2011年被编码,并且他的实现仅适用于那个时期的java-hdf。我花了很长时间才弄清楚这一点,找到了旧图书馆,以及匹配的.dll。希望这能节省一两天......
罐: http://www.java2s.com/Code/Jar/h/Downloadhdfjava261jar.htm
DLL: ftp://ftp.hdfgroup.org/HDF5/releases/HDF-JAVA/HDF-JAVA-2.8/bin/win64/hdf-java/lib/win/jhdf5.dll
此外,您必须通过(在eclipse中)将dll链接到run-> run configurations - >参数和在VM框中键入:-Dncsa.hdf.hdf5lib.H5.hdf5lib =" PATH_TO_DLL" 其中" PATH_TO_DLL"由dll的完整路径替换。 即对我来说:-Dncsa.hdf.hdf5lib.H5.hdf5lib = C:\ Users \ pete \ Desktop \ HDF5 \ jhdf5.dll
无论你做什么,都不要尝试在他们的网站上遵循java的hdf5安装说明,它不适用于这个实现,你将浪费很多时间。任何C ++ getter实现或Python实现都没有过多的过时库集合,这些库不仅难以找到,而且无法与日期戳匹配。 (所有这些仅适用于由tbertin编写的Million Song Database getters的实现)
答案 1 :(得分:0)