springboot2.1.6,web项目调用openCV,报错:
java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)J
at org.opencv.imgcodecs.Imgcodecs.imread_1(Native Method) ~[opencv-411.jar:4.1.1]
at org.opencv.imgcodecs.Imgcodecs.imread(Imgcodecs.java:307) ~[opencv-411.jar:4.1.1]
应该调用openCV的本地dll库出错,尝试了多种加载dll的方式都不行,使用普通的javaSE工程调用正常,所以不是openCV的问题。
问题大概的方向应该是springboot类加载,想起来我引入了springboot热部署模块:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
把这两个模块去掉,好了。
问题出现肯定有原因,但我觉得这应该是热加载模块的bug,也许下个版本就解决了。