问题:
项目是从跟着B站的尚融宝项目进行的,但是刚开始添加依赖那一步就出现了很多问题,有些依赖死活下载不下来,我百度整理了一个早上,基本解决了。相信有很多人跟我一样出现过这些问题,这里可以提供一些解决方案。
方法一:让其重新下载本地仓库的依赖
1.首先我们都是要用本地仓库比较好在,如果你本身已经设置了镜像仓库跳过这一步去看下面。
在你本地maven的conf文件中的settings.xml配置文件中,添加阿里镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
如果这个不行,还有一些其他的镜像可以试试
<mirror>
<id>ibiblio.org</id>
<name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
<mirrorOf>central</mirrorOf>
<!-- United States, North Carolina -->
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
重新刷新maven,看看能不能下载下来。
2.有些时候是因为网络等等某种原因,下载的依赖文件没有下载全.
你到本地仓库对应的路径文件夹中查看,比如说下面spring-boot-starter-parent这个我之前一直无法使用2.3.4版本,到路径下apache-maven-3.6.3\repmaven\org\springframework\boot\spring-boot-starter-parent查看的时候发现,有文件后缀是就是.jar后面有个 .lastUpdated 后缀,就是因为这个惹的祸导致Maven无法解析到。为了避免其它问题,可以把当前文件夹2.3.4.RELEASE的内容全部删除,然后maven重新刷新一下,重新下载的文件中没有这个后缀的就是能用的。
这里是能用的:
3.如图中所示,对maven进行clean和compile
如果出现了 java.io.FileNotFoundException: F:\java-maven\apache-maven-3.6.3\bin…/conf/logging这种错误,那就在maven的conf目录下新建一个logging文件就行了。
以上是自动进行依赖下载的
方法二:手动下载依赖
当自动下载没有用的时候只能手动下载了,比较麻烦
先进入到maven库下载网址:https://mvnrepository.com/
搜索你所需要的包,比如说我缺少这个
这个就是,记得groupid和artifactid一定要对应上才下,红框下面的groupid就没有对应下就不行。
选中你需要下载的版本,我需要下载的版本是1.3.1进去之后,下载红框中jar包。
下载之后,cmd(win+R 输入cmd)格式进入该jar包目录下
运行mvn install:install-file -Dfile=jar包的路径 -DgroupId=gruopId中的内容 -DartifactId=actifactId的内容 -Dversion=version的内容 -Dpackaging=jar
以我下载的jar为例
mvn install:install-file
-Dfile=commons-fileupload-1.3.1.jar(jar包的全称,还可以使用全路径这样可以直接使用命令不用进入文件目录中运行命令了)
-DgroupId=commons-fileupload (jar包的groupId)
-DartifactId=commons-fileupload (jar包的artifactId)
-Dversion=1.3.1(jar包的版本号)
-Dpackaging=jar (jar包的文件格式)
这样就是下载将jar导入本地仓库完成了,刷新一下maven看看
这样就能把所有无法下载的依赖一个个添加进去了!!!
方法二:手动导入jar包
但是还会有一些情况即使按方法二还是无法加载依赖的情况,我也不清楚是什么原因,这是只能用最初始的方法导包了。
在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>