检查是否已加载dll库?(爪哇)
在我正在编写的Java程序中,我对dll进行jni调用,并在启动时加载库,如下所示
static
{
System.loadLibrary("LdapAuthenticator2");
}
然后,我实现了另一个类,该类加载了同一个库,并且得到一个错误,表示库已经加载,是否有方法检查库是否已经运行
谢谢,
-皮特
你可以在下面搜索框中键入要查询的问题!
在我正在编写的Java程序中,我对dll进行jni调用,并在启动时加载库,如下所示
static
{
System.loadLibrary("LdapAuthenticator2");
}
然后,我实现了另一个类,该类加载了同一个库,并且得到一个错误,表示库已经加载,是否有方法检查库是否已经运行
谢谢,
-皮特
# 1 楼答案
什么样的错误?如果这是个例外,你能抓住它吗
另一种方法是让一个类负责加载库。您可以使加载库成为类的静态初始值设定项的一部分,然后加载类==加载库
编辑:javadocs for ^{} (由
System.loadLibrary
调用)甚至建议使用静态初始值设定方法:javadocs还说:
这让我对你的错误更加好奇
# 2 楼答案
检查我对这个问题的回答
How do I get a list of JNI libraries which are loaded?
这个解决方案是可行的,不幸的是,问题的发帖者似乎在不兼容SUN的JVM或限制性太强的SecurityManager方面存在问题
链接到示例POC源代码
^{}