首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.UnsatisfiedLinkError: java.library.path中没有jhdf5

java.lang.UnsatisfiedLinkError: java.library.path中没有jhdf5
EN

Stack Overflow用户
提问于 2017-02-09 13:40:15
回答 1查看 2.4K关注 0票数 2

在运行一个保存和加载h5文件的ScalaAndle1.3.4应用程序时,我得到了上述错误。

我已经尝试过配置以下内容(Win64),但没有成功:

  • -Djava.library.path=C:\Dev\Tools\HDF5\1.10.0\lib\
  • -Djava.library.path=C:\Dev\Tools\HDF5\1.10.0\lib\jarhdf5-1.10.0.jar
  • -Dnative.libpath.jhdf5=C:\Dev\Tools\HDF5\1.10.0\lib\hdf5_java.dll
  • -Dnative.libpath=C:\Dev\Tools\HDF5\1.10.0\lib\

还有其他一些替代方案,但我仍然能找到堆栈:

代码语言:javascript
复制
java.lang.UnsatisfiedLinkError: no jhdf5 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at ncsa.hdf.hdf5lib.H5.loadH5Lib(H5.java:347)
    at ncsa.hdf.hdf5lib.H5.<clinit>(H5.java:274)
    at ncsa.hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:28)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply$mcI$sp(H5Store.scala:291)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply(H5Store.scala:290)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply(H5Store.scala:290)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$withMonitor(H5Store.scala:49)
    at org.saddle.io.H5Store$.createFile(H5Store.scala:290)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$writePandasFrame(H5Store.scala:1029)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply$mcI$sp(H5Store.scala:210)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply(H5Store.scala:210)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply(H5Store.scala:210)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$withMonitor(H5Store.scala:49)
    at org.saddle.io.H5Store$.writeFrame(H5Store.scala:209)
    at org.saddle.io.H5Implicits$$anon$1.writeHdfFile(H5Implicits.scala:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.juliusbaer.example.Main$.main(Main.scala:30)
    at com.juliusbaer.example.Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Exception in thread "main" java.lang.UnsatisfiedLinkError: ncsa.hdf.hdf5lib.H5.H5dont_atexit()I
    at ncsa.hdf.hdf5lib.H5.H5dont_atexit(Native Method)
    at ncsa.hdf.hdf5lib.H5.loadH5Lib(H5.java:365)
    at ncsa.hdf.hdf5lib.H5.<clinit>(H5.java:274)
    at ncsa.hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:28)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply$mcI$sp(H5Store.scala:291)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply(H5Store.scala:290)
    at org.saddle.io.H5Store$$anonfun$createFile$1.apply(H5Store.scala:290)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$withMonitor(H5Store.scala:49)
    at org.saddle.io.H5Store$.createFile(H5Store.scala:290)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$writePandasFrame(H5Store.scala:1029)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply$mcI$sp(H5Store.scala:210)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply(H5Store.scala:210)
    at org.saddle.io.H5Store$$anonfun$writeFrame$1.apply(H5Store.scala:210)
    at org.saddle.io.H5Store$.org$saddle$io$H5Store$$withMonitor(H5Store.scala:49)
    at org.saddle.io.H5Store$.writeFrame(H5Store.scala:209)
    at org.saddle.io.H5Implicits$$anon$1.writeHdfFile(H5Implicits.scala:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.juliusbaer.example.Main$.main(Main.scala:30)
    at com.juliusbaer.example.Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
EN

回答 1

Stack Overflow用户

发布于 2021-06-16 19:47:47

在windows操作系统上启动二进制程序时,我也遇到了同样的问题。启动HDFView.exe后,一个命令窗口弹出,并再次关闭。

在通过CLI启动它之后,我看到了您提到的错误:

代码语言:javascript
复制
java.lang.UnsatisfiedLinkError: no jhdf5 in java.library.path

我用上面的@kaladin解决了这个问题:我将path <path to app>/HDFViewApp-3.1.2-win10_64-vs16\HDFView\app\bin添加到PATH系统环境变量。保存它之后,我重新启动了EXE文件,它像预期的那样直接工作!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42138270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档