java.lang.UnsatisfiedLinkError: no xxxxxx in java.library.path
一个新服务首次上项目,结果服务器部署时报错,报错代码如下:
nested exception is java.lang.UnsatisfiedLinkError:
no stidface_professional in java.library.path
表面意思是程序在java.library.path
路径下搜索不到一个名称为stidface_professional.dll
的库文件。
java.library.path路径是什么
在windows系统运行以下代码输出
我做了一个可执行jar包来进行测试
public class Check {
public static void main(String[] args){
System.out.println("===========================");
System.out.println(System.getProperty("java.library.path"));
System.out.println("===========================");
}
}
可以看到实际上输出的是系统环境变量中,path变量包含的路径
系统->高级系统设置->环境变量,path变量里所包含的路径。
解决办法
根本方案:
把库文件所在路径添加到环境变量中,或者把库文件复制到path变量中的路径下
其他方式:
在IDEA中测试,可以设置启动参数
VM options -Djava.library.path=库文件对应路径