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=库文件对应路径
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐