前言
每次部署测试环境,从代码库拉取代码,都会出现缺少包的情况。然后找开发一通调试,到处拷包。
方案一:pom文件注释/取消注释
注释掉pom.xml里的报红色的依赖(同时可以把本地maven库repo里对应的包删除),Import Changes,再取消注释,重新Import Changes。如果右下角没有Import Changes,检查下是否设置了Enable Auto-Import
方案二:从别人那里拷贝
从别人那里拷贝包到自己本地的maven库的repo,然后IEDA右上角Reimport多次。如果还是爆红就按方案一再操作一遍。
方案三:手动下载
当方案一和二尝试,解决不了问题的时候,尝试手动下载。
- 先进入到maven库下载网址:https://mvnrepository.com/
- 搜索自己需要的包,例如,我缺少下面的这个包。
- 选择需要的版本,我需要下载的是2.6.20.1024
- 下载之后,
cmd(win+R 输入cmd)
格式进入项目的pom目录 - 运行
mvn install:install-file -Dfile=jar包的路径 -DgroupId=gruopId中的内容 -DartifactId=actifactId的内容 -Dversion=version的内容 -Dpackaging=jar
- 以我下载的jar为例
mvn install:install-file -Dfile=D:\data\ImpalaJDBC42-2.6.20.1024.jar -DgroupId=Impala -DartifactId=ImpalaJDBC42 -Dversion=2.6.20.1024 -Dpackaging=jar
-Dfile=D:\data\ImpalaJDBC42-2.6.20.1024.jar(jar包的全路径,把包拷贝到pom文件同目录,就可以直接用jar的名称了)
-DgroupId=Impala (jar包的groupId)
-DartifactId=ImpalaJDBC42 (jar包的artifactId)
-Dversion=2.6.20.1024(jar包的版本号)
-Dpackaging=jar (jar包的文件格式)
7. jar导入本地创库完成,刷新maven,可以看到不报红了,pom.xml也不报错了。
方案四:手动导入jar包(搬自博客「云庄clouder」)
但是还会有一些情况即使按方法二还是无法加载依赖的情况,我也不清楚是什么原因,这是只能用最初始的方法导包了。
在src/main/resources目录下建立一个文件夹lib用来专门存放外来jar包,将jar包复制进去,然后在pom文件中依赖原来的基础上加上这是定位存放目录用的。如果还出现问题,那么b a s e d i r 改 成 {basedir}改成basedir改成{pom.basedir}
<dependency>
<groupId>com.alibabay</groupId>
<artifactId>fastjsono</artifactId>
<version>1.2.28</version>
<scope>system</scope>
<systemPath>${basedir}src/main/resources/lib/fastjson-1.2.28.jar</systemPath>
</dependency>
————————————————
参考链接:「云庄clouder」原文:https://blog.csdn.net/weixin_56921066/article/details/116793812