在 IntelliJ 14 之前修复
文件 [菜单] ->设置 -> maven -> 导入并取消选中“使用 maven3 导入项目”
ref: http://youtrack.jetbrains.com/issue/IDEA-98425(可能还有其他一些想法)
修复 IntelliJ 15+
这次使用IntelliJ 15再次遇到这种情况,它不再具有“使用maven3导入”选项。原因是有时IntelliJ“不能正确解析maven依赖项”,如果它不能正确解析其中一个,显然它会放弃所有这些依赖项。您可以通过打开 maven 项目工具窗口(“视图”菜单 ->工具窗口 -> Maven 项目)来判断是否属于这种情况。然后展开其中一个 maven 项目及其依赖项。如果依赖项全部用红色下划线标出,则为“休斯顿,我们有问题”。
您实际上可以通过将鼠标悬停在项目名称本身上看到真正的失败。
在我的例子中,它说“问题:没有可用于XXX的版本”或“无法读取artifact org.xy.z的描述符”ref:https://youtrack.jetbrains.com/issue/IDEA-128846 和 https://youtrack.jetbrains.com/issue/IDEA-152555
在这种情况下,我似乎正在处理一个没有关联pom文件的jar(在我们的maven nexus存储库中,以及我的本地存储库中)。如果这也是你的问题,“urrent解决方法:如果你实际上不需要在自己的代码中使用该jar中的类(例如,仅传递maven依赖项),你实际上可以从pom中注释掉它(暂时),maven项目重新加载,然后取消注释它。不知何故,在那之后,IntelliJ“记住”了它旧的工作依赖关系。临时添加 maven 传递排除也可能这样做,如果你从传递依赖关系链中遇到它。
另一件可能有帮助的事情是使用比捆绑的3.0.5“更新版本”的maven。为了将其设置为将其设置为默认使用,请关闭所有 intellij 窗口,然后打开首选项 ->构建,执行和部署 ->构建工具 -> maven,并更改 maven 主目录,当您调整此内容时,它应该在顶部显示“对于默认项目”,尽管您也可以针对特定项目进行调整, 只要您在调整后“重新导入”。
清除缓存
删除 intellij 缓存文件夹 (windows: HOMEPATH/.{IntellijIdea,IdeaC}XXX linux ~/.IdeaIC15)和/或卸载并重新安装IntelliJ本身。这也可以通过转到 文件 [菜单] -> 来完成。点击。这将重新索引您的整个项目,并解决IntelliJ的许多难以跟踪的问题。Invalidate Caches / Restart...
invalidate and restart