java - 如何为 Windows 10 的 HDF5view 应用程序安装 java
问题描述
运行 HDF5view 时出现以下错误,但找不到有关如何安装 Java 的说明,该错误似乎表明缺少该说明。
PS C:\Users\Doug\AppData\Local\HDF_Group\HDFView> .\HDFView.exe
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:///C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/mods/slf4j-nop-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/extra/slf4j-simple-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/slf4j-nop-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory]
java.lang.UnsatisfiedLinkError: C:\Users\Doug\AppData\Local\HDF_Group\HDFView\runtime\bin\hdf5_java.dll: Can't find dependent libraries
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:310)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:280)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2440)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:809)
at java.base/java.lang.System.loadLibrary(System.java:1893)
at jarhdf5@1.10.7/hdf.hdf5lib.H5.loadH5Lib(H5.java:315)
at jarhdf5@1.10.7/hdf.hdf5lib.H5.<clinit>(H5.java:255)
at jarhdf5@1.10.7/hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:29)
at hdf.object.h5.H5File.<clinit>(H5File.java:115)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:377)
at hdf.object.FileFormat.<clinit>(FileFormat.java:227)
at hdf.view.HDFView.createToolbar(HDFView.java:1036)
at hdf.view.HDFView.createMainWindow(HDFView.java:448)
at hdf.view.HDFView.openMainWindow(HDFView.java:280)
at hdf.view.HDFView$39.run(HDFView.java:2571)
at swt/org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at swt/org.eclipse.swt.widgets.Display.syncExec(Display.java:4735)
at hdf.view.HDFView.main(HDFView.java:2563)
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'int hdf.hdf5lib.H5.H5dont_atexit()'
at jarhdf5@1.10.7/hdf.hdf5lib.H5.H5dont_atexit(Native Method)
at jarhdf5@1.10.7/hdf.hdf5lib.H5.loadH5Lib(H5.java:331)
at jarhdf5@1.10.7/hdf.hdf5lib.H5.<clinit>(H5.java:255)
at jarhdf5@1.10.7/hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:29)
at hdf.object.h5.H5File.<clinit>(H5File.java:115)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:377)
at hdf.object.FileFormat.<clinit>(FileFormat.java:227)
at hdf.view.HDFView.createToolbar(HDFView.java:1036)
at hdf.view.HDFView.createMainWindow(HDFView.java:448)
at hdf.view.HDFView.openMainWindow(HDFView.java:280)
at hdf.view.HDFView$39.run(HDFView.java:2571)
at swt/org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at swt/org.eclipse.swt.widgets.Display.syncExec(Display.java:4735)
at hdf.view.HDFView.main(HDFView.java:2563)
Failed to launch JVM
PS C:\Users\Doug\AppData\Local\HDF_Group\HDFView>
解决方案
只是有同样的问题。您需要将 runtime\bin 文件夹添加到 Windows 路径变量中。
- 从 HDF 集团网站下载“HDFView-3.1.2-win10_64-vs16.zip”
- 使用随附的“HDFView-3.1.2.exe”安装 HDF View 应用程序
- 打开 Windows 开始菜单并输入“编辑系统环境”
- 从用户或系统变量中选择“路径”变量,然后单击“编辑”
- 添加一个新条目并输入“C:\Users\[USERNAME]\AppData\Local\HDF_Group\HDFView\runtime\bin”
- 重新启动 Windows,现在您可以从 Windows 开始菜单打开“HDF 视图”
推荐阅读
- css - 为什么负边距顶部在 flexbox 中不起作用?
- python - 在定义 z3 变量和类型时使用非 ascii 字符串
- javascript - Apex 多个 y 轴混合图表未正确显示
- laravel - 通过 http 或 guzzle 提交 Laravel Livewire 表单
- python-3.x - 深度学习:尝试将一个测试数据导入模型时出错
- android - Android Studio 底部工具栏消失了
- python - 如何使用基于伪随机数的字母来编码给定的字符串,使用列表、字符串方法、字典?
- python - 嵌套 if 语句不返回此类项目
- assembly - 当尝试切换到较低的异常级别时,AArch64 执行在 ERET 之后停止
- python - 如何通过在python DataFrame中保持其他值不变来替换特定列上的字符串值