java.lang.UnsatisfiedLinkError中:{____ DLL}本地库已装入另一个类加载器
-
11-07-2019 - |
题
我用我自己的一个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
和我不能无需关闭MATLAB和重新打开,这是在颈部疼痛解决它。
这是什么错误,是谁的错呢? (我的吗?MATLAB的?JHDF5不释放该DLL或检查,看看是否它已经加载)
解决方案
在一般情况下,没有办法对Java代码来卸载机DLL。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id= 5075039个
鉴于此,一旦DLL被加载,它的存在对于JVM和VM的寿命将确保它被加载一次且仅一次。
要回答的怪问题,我想这是试图加载DLL,如果没有它已经可以检查代码的错误。
不隶属于 StackOverflow