注:这是我的第一个堆栈溢出问题,如果这是可怕的原谅我。
对于一个学校项目,我一直试图访问百万宋数据集。我在安装C++和Java时遇到了多个问题,似乎都不起作用。使用Java版本,我只需在其网站上找到所需的jar文件,并将其导入外部。在打开文件之前,Eclipse似乎没有问题(我还链接了hdf5.dll),并收到以下错误:
线程"main“java.lang.NoClassDefFoundError中的异常:无法初始化ncsa.hdf.object.h5.H5File中的类ncsa.hdf.hdf5lib.HDF5Constants (H5File.java:98)在ncsa.hdf.object.h5.H5File(H5File.java:143) at hdf5_getters.main(hdf5_getters.java:564) at Main.main(Main.java:7)
我真的认为这只是因为我没有正确地安装Java库,但是我不知道如何正确安装它们。我阅读了使用CMake编译一些二进制文件,但是在编译CMake时抛出了一些未知的错误,所以我完全被困住了。请帮助正确的安装,我可以提供更多的信息,如果需要。
这是检索存储在数据库中的歌曲字段所需的getter的源:https://github.com/tbertinmahieux/MSongsDB
这是我试图遵循的说明,最后找到并下载了适当的.jar文件,并在eclipse:https://www.hdfgroup.org/products/java/release/downloadsrc.html#src中导入为外部jar。
发布于 2016-04-03 13:50:46
这是使用这个家伙的实现访问这个数据集的任何相关问题的解决方案。不幸的是,它是在2010/2011年间编写的,他的实现仅适用于那个时候的java。我花了很长时间才弄明白这一点,找到了旧的库,以及匹配的.dll。希望这能救一个人一两天..。
Jar: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链接到运行->运行配置->参数,并且在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实现或实现都是如此。(所有这些仅适用于tbertin编写的百万宋数据库获取器的实现)
https://stackoverflow.com/questions/36385398
复制相似问题