问题描述

导入依赖的过程中发生了以下错误

Dependency 'org.springframework.boot:spring-boot-starter-websocket<unknown>' not found 
Inspect a Maven model forresolution problems

或者
在eclipse中pom.xml文件头出现红叉

可能的原因

1)网络状况不好
2)本地仓库
3)中央仓库因配置错误无法识别
4)所需要的依赖不再仓库列表的仓库中
我的原因好像是第4种,
首先,spring-boot-starter-websocket这个依赖在中央仓库,所以可能是central仓库连接不上或者没有被maven识别也就是setting.xml仓库结点的配置错误。

如果你使用了代理(如访问国外网站的代理),请先尝试关掉代理服务,确保网络环境是干净的,这一步不是必须的;如果你没有联网,无法连接官方维护的central仓库;如果你使用Nexus私服搭建的central仓库,请到setting.xml中添加你的仓库。

Ctrl+Alt+S进入Settring面板,从左侧选项依次点进Build, Execution, Deployment>Build Tools>Maven>Repositories,这是在右侧会看到Maven的所有仓库,如果是初次使用Maven,你应该可以看到2个仓库,包括仓库对应的URL,仓库类型以及更新时间三个字段。

URL

Type

Updated

%USER_HOME%/.m2/repository

Local

2019/5/23

http://repo.maven.apache.org/maven2/

Remote

Never

但是一开始我的IDEA只有第一行,只有本地仓库没有central仓库。

我的解决办法

一般maven的配置在%USER_HOME%/.m2/settings.xml,当然,也可以在%M2/HOME%/conf/setting.xml,前者的优先级大于后者,IDEA也默认使用前者而不需要勾选Build, Execution, Deployment>Build Tools>Maven下的User Settings file文本框后面的后面Overwrite选项,Local Repository选项默认从上面指定的settings.xml中读取,如果没有setting.xml文件,默认在%USER_HOME%/.m2/repository

关闭你的IDE。
第一步,删除本地仓库下的所有内容
保证我的本地仓库是干净的,这一步不是必须的
第二步,检查仓库配置
我在配置文件settings.xml中加入了阿里云的maven仓库代理加速中央仓库依赖下载速度,在<mirrors></mirrors>结点中加入:

<mirror>
        <id>aliyunmaven</id>
        <mirrorOf>central</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/nexus/content/repositories/central</url>
    </mirror>

关于阿里仓库代理详见https://help.aliyun.com/document_detail/102512.html。
这样就代替了maven的默认central仓库源地址https://repo1.maven.org/maven2/。
我这里的问题是url开头是http而不是https,感觉是很久以前从别人博客哪儿不知过来的。
第三步 重新打开IDEA,然后检查central仓库是否在上面的仓库列表中,如果是,仓库的配置应该就没问题了。

后续步骤
右键项目的pom.xml文件Maven-->Import
如果还有问题File --> Invalidate Caches然后重启
然后再次使用Maven重新导入所以项目

参考文章

idea intellij maven project can't make