Jas*_*n S 3 java dll java-native-interface matlab shared-libraries
我正在使用我自己的JAR文件,它使用Java库(JHDF5),而后者又通过JNI使用dll.当我在MATLAB中使用我自己的JAR文件,然后在调试时必须重建它时,在我clear java从JAR文件调用并创建一个新对象之后,当我再次尝试使用它时出现此错误:
java.lang.UnsatisfiedLinkError:
Native Library C:\deka\proj\java\ESPDF\dist\lib\jhdf5.dll
already loaded in another classloader
Run Code Online (Sandbox Code Playgroud)
如果不关闭MATLAB并重新打开,我无法解决这个问题,这是一个痛苦的问题.
这个错误是什么,它的错是什么?(我的?MATLAB的?JHDF5没有释放DLL或检查它是否已经加载)
通常,Java代码无法卸载本机dll. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5075039
鉴于此,一旦加载了dll,它就会存在于JVM的生命周期中,并且VM将确保它只加载一次且只加载一次.
为了回答责备问题,我想这是代码的错误,它试图加载dll而不检查它是否已经可用.
| 归档时间: |
|
| 查看次数: |
6088 次 |
| 最近记录: |