Java hdf5 库安装

Java hdf5 library install

注意:这是我的第一个堆栈溢出问题,如果很糟糕请见谅。

为了一个学校项目,我一直在尝试访问百万歌曲数据集。我在使用 C++ 和 Java 时遇到了多个安装问题,两者似乎都不起作用。对于 Java 版本,我只是在他们的网站上找到所需的 jar 文件并从外部导入它们。 Eclipse 似乎没有问题,直到我打开文件(我也链接了 hdf5.dll),然后我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class ncsa.hdf.hdf5lib.HDF5Constants at ncsa.hdf.object.h5.H5File.(H5File.java:98) at ncsa.hdf.object.h5.H5File.(H5File.java:143) at hdf5_getters.hdf5_open_readonly(hdf5_getters.java:52) at hdf5_getters.main(hdf5_getters.java:564) at 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

这是解决访问此数据集的任何相关问题的解决方案。不幸的是,它是在 2010/2011 年编码的,他的实现只适用于那个时候的 java-hdf。我花了很长时间才弄明白并找到旧库以及匹配的 .dll。希望这可以节省一两天的时间....

罐子: http://www.java2s.com/Code/Jar/h/Downloadhdfjava261jar.htm

动态链接库: ftp://ftp.hdfgroup.org/HDF5/releases/HDF-JAVA/HDF-JAVA-2.8/bin/win64/hdf-java/lib/win/jhdf5.dll

此外,您必须 link 通过(在 eclipse 中)转到 运行->运行 配置 -> 参数并在 VM 框中键入此 dll:-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编写的百万歌曲数据库getters的实现)

至于MAC用户,将libjhdf5.jnilib复制到/Library/Java/Extensions可能会解决问题。

您应该找到库 here

引用是here