打包springboot项目时遇到一个问题:显示opencv的jar包找不到
刚开始我在网上找各种方法,把opencv-4100.jar 放在了项目目录lib下。
打包的时候报错:opencv-4100.jar不能放在本项目的lib下,说我的项目结构是畸形的🤦♀️
于是我在学长提醒(提醒的是jar包应该放在本地仓库)下把opencv-4100.jar直接copy到了mvn-repo(maven repository,maven的本地仓库)。
这个做法其实是没必要的,因为之前配置过,我的maven repository有opencv,一路在这个路径(E:\software\Maven\apache-maven-3.9.8\mvn_repo\opencv\build\java)下就有opencv-4100.jar。
发现这个后,我就配置library 到路径 E:\software\Maven\apache-maven-3.9.8\mvn_repo\opencv\build\java。(下划线的应该是自己电脑上装maven的路径)
做完以上这些还是找不到opencv的包,于是,找学长!!!
学长给我加了下面这个依赖
dependency> <groupId>com.example</groupId> <artifactId>open-cd-4100</artifactId> <version>1.0.0</version> </dependency>
之后直接在项目里就可以依赖了。
但问题又来了!!
报错:opencv缺少systempath
因为我原来加的opencv依赖
<dependency> <groupId>org.opencv</groupId> <artifactId>opencv</artifactId> <version>4.10.0</version> <scope>system</scope> <systemPath>E:\\software\\Maven\\apache-maven-3.9.8\\mvn_repo\\opencv\\build\\java\\opencv-4100.jar</systemPath> </dependency>大致长这样,后来因为报错,把systempath注释掉了
(
插入:其实我还搜了很多方法,就上面那个形式还是我修改后的:
一:刚开始systemPath是
E:\software\Maven\apache-maven-3.9.8\mvn_repo\opencv\build\java ,
末尾没有加opencv-4100.jar。
二:搜到windows系统可能要双斜杠才能识别,从单杠改成双杠。
)
那既然缺少systemPath,我就把注释去掉了。好的,
报错:'dependencies.dependency.systemPath' for org.opencv:opencv:jar should use a variable instead of a hard-coded path E:\\software\\Maven\\apache-maven-3.9.8\\mvn_repo\\opencv\\build\\java\\opencv-4100.jar @ line 135, column 25
于是又搜到了解决方法:先来代码再解释
<properties> <java.version>17</java.version> <opencv.path>E:\\software\\Maven\\apache-maven-3.9.8\\mvn_repo\\opencv\\build\\java\\opencv-4100.jar</opencv.path> </properties><dependency> <groupId>org.opencv</groupId> <artifactId>opencv</artifactId> <version>4.10.0</version> <scope>system</scope> <systemPath>${opencv.path}</systemPath> </dependency>在<properties>标签里加上了<opencv.path>,然后就<systemPath>${opencv.path}</systemPath>。
终于不报错了。
感觉如果是叙述给别人听是不够清楚的,只能当作自己记录一下了。因为只是刚动手做,原理不懂。