代码:
public class JniTest {
static {
System.load("/usr/lib/libJniTest.so"); //It run have no exception and true
//System.loadLibrary("libJniTest");
}
public native void sayHello();
public static void main(String[] args) {
System.out.println(System.getProperties().getProperty("java.library.path"));
new JniTest().sayHello();
}
}
如果使用注释代码而不是"System.load("/usr/lib/libJniTest.so")
,则会抛出异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no libJniTest in java.library.path!
我有输入
export LD_LIBRARY_PATH=/usr/lib in /etc/profile and set vm arguments:
-Djava.library.path=/usr/lib
请帮助我!
答案 0 :(得分:1)
使用以下命令设置VM参数:
-Djava.library.path="${workspace_loc}/project_name:${env_var:PATH}"
并确保.so应该在您的项目文件夹中