1、创建步骤
File -> New -> Project
选择Initializr,使用默认的URL
接下来填写项目名称、类型、java版本、坐标等信息,使用默认配置即可(名称、坐标等可自己修改)
选择spring boot版本及所依的依赖。按需选择即可。
最后确定项目名称、位置,Finish.
2、出现的问题
创建好项目后,pom.xml报错,其中的依赖maven无法下载。
双击clean或install,下载依赖报错
[ERROR] Non-resolvable parent POM: Could not transfer artifact
org.springframework.boot:spring-boot-starter-parent:pom:2.2.4.RELEASE
from/to central (http://repo.maven.apache.org/maven2): Failed to
transfer file:
http://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.2.4.RELEASE/spring-boot-starter-parent-2.2.4.RELEASE.pom.
Return code is: 501 , ReasonPhrase:HTTPS Required. and
‘parent.relativePath’ points at no local POM @ line 5, column 10 ->
[Help 2]
3、错误原因
上述错误信息中,重点是,HTTPS Required,意思是默认的仓库位置http://repo.maven.apache.org/maven2不能用了,需要用https://repo.maven.apache.org/maven2
在浏览器中访问http://repo.maven.apache.org/maven2,提示信息会更清晰
原因是从2020.1.15开始,默认的中央仓库不再支持不安全的http连接,而要求所有到仓库的请求都通过https加密。
stackoverflow上的回答
4.解决办法
找了半天,没发现怎么修改maven的默认仓库。不过,在maven的setting.xml文件中设置国内的镜像是有用的,我设置的是阿里的镜像。在<mirrios>
标签中添加
> <mirror>
> <id>alimaven</id>
> <name>aliyun maven</name>
> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
> <mirrorOf>central</mirrorOf>
> </mirror>
同时,确保idea中maven的设置是对的,主要是setting.xml文件的引用
By the way, 默认设置可在File -> Other Setting中修改。
上述修改保存后,再双击clean或install即可顺利下载依赖。
设置其他的镜像,如华为镜像,或者将https://repo.maven.apache.org/maven2设置为镜像,应该也是可以的,没有尝试。另外,据说最新版本的maven(3.6.0,3.6.1,或者3.2.3)中已经是默认使用https连接,所以不存在这个问题,没有验证(我使用的是3.0.5)。
总结:最开始出现错误时没有认真看报错信息,网上一顿搜索,搞了大半天也没找到解决方案,实在没办法才去看错误信息,然后根据报错信息很快就查到了 -_-!!! 经验教训就是,遇到错误好好看错误信息,好的项目文档一般都写得比较好的。