首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止runnable JAR中出现"No jhdf5 in java.library.path“错误

如何防止runnable JAR中出现"No jhdf5 in java.library.path“错误
EN

Stack Overflow用户
提问于 2019-04-20 06:42:38
回答 1查看 670关注 0票数 0

我有一个可以读取和处理HDF5文件的Java程序。当我在Eclipse (windows OS)上运行它时,我得到了下面的错误,我必须添加一个运行配置VM参数(-Dncsa.hdf.hdf5lib.H5.hdf5lib=\jhdf5.dll)来添加库并正常运行。现在我正在导出一个可运行的Jar文件,我再次得到错误,可能是因为它没有继承VM参数。

代码语言: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 ncsa.hdf.object.h5.H5File.<init>(H5File.java:99)
    at ncsa.hdf.object.h5.H5File.<init>(H5File.java:132)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at ncsa.hdf.object.FileFormat.<clinit>(FileFormat.java:229)
    at hdf5Tool.HDF5Interface.readNodeStructureH5(HDF5Interface.java:73)
    at wizardPages.DREAMWizard$STORMData$1.run(DREAMWizard.java:340)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

基于this post,我看到有两种可能的选择:创建一个shell脚本或应用程序包来合并VM参数。

但是,我很好奇的是,有一种更简单的方法来标识可运行JAR文件的库。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-01 22:37:30

不确定您是否有特定的需求,但也许可以查看jhdf.io它是一个纯Java HDF5库,因此不需要加载本机库。它应该很容易添加到具有标准依赖项的Maven或Gradle项目中。

这是一个相当早期的阶段,但应该支持从大多数HDF5文件读取数据,如果它不工作,打开一个问题。

免责声明:我是jhdf的作者,所以可能有偏见。

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

https://stackoverflow.com/questions/55768603

复制
相关文章

相似问题

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