的System.loadLibrary()返回从静块异常(System.loadLibrary()

2019-10-29 12:10发布

我创建了从静态初始化块装入一个Wi​​ndows动态链接库Java应用程序。 该代码段下面给出:

// MyTestJava class starts
class MyTestJava
{

static
    {
        System.loadLibrary("MyLib");
    }
} // MyTestJava class def ends here

听说换种从静态块进行初始化库的,JVM应搜索java.library.path 。 所以我设置JVM库路径如下,并把MyLib.dllc:\Libs文件夹中。

options[1].optionString = "-Djava.library.path=C:\\Libs"; 

不幸的是,我在我的Java应用程序得到一个讨厌的不合适的链接错误。

Answer 1:

并不清楚什么options[1].optionString = "-Djava.library.path=C:\\Libs"; 手段。 你应该通过的java.library.path作为Java ARG

java -Djava.library.path=C:\Libs MainClass


Answer 2:

首先调用GETENV,并检查“的java.library.path”,实际上是指到库中。 否则,你可以尝试使用给出文件的绝对路径

static
{
System.load("C:\\Libs");
}


文章来源: System.loadLibrary() returns exception from static block