IntelliJ:无法解析符号'springframework'

60

我尝试使用Spring启动我的第一个项目。我使用IntelliJ idea,对它也不太熟悉。但是无论如何,我按照Jetbrains网站上的步骤进行操作,但我不知道我做错了什么,因为默认创建的前两个文件中出现了很多错误。

BloomBookingApplcation.java

package com.bloombooking;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BloomBookingApplication {

    public static void main(String[] args) {
        SpringApplication.run(BloomBookingApplication.class, args);
    }
}

Error:(3, 12) Cannot resolve symbol 'springframework'
Error:(4, 12) Cannot resolve symbol 'springframework'
Error:(6, 2) Cannot resolve symbol 'SpringBootApplication'
Warning:(7, 1) Access can be packageLocal
Error:(9, 26) Cannot resolve symbol 'String'
Error:(10, 3) Cannot resolve symbol 'SpringApplication'

也许我很蠢,但我不知道我错过了哪个步骤...

我该怎么办?

我已经找到了添加弹簧的方法,并且使用快捷修复按钮。

但现在我遇到了新的错误,我不知道为什么...也许我应该直接下载并逐个添加库文件?

Error:(3, 28) Cannot resolve symbol 'boot'
Error:(4, 28) Cannot resolve symbol 'boot'
Error:(6, 2) Cannot resolve symbol 'SpringBootApplication'
Warning:(7, 1) Access can be packageLocal
Error:(9, 26) Cannot resolve symbol 'String'
Error:(10, 3) Cannot resolve symbol 'SpringApplication'

或者可能是我的IntelliJ IDEA没有正确配置,因为我无法在任何地方获得自动完成并且我无法创建包...


1
你没有将Spring的.jar文件添加到类路径中吗? - Andreas
1
啊!我不知道它不会自动完成...我搜索并找到了如何做,谢谢你 :) - Antoine Grenard
无法解析符号“String”-看起来您的Java安装已损坏或您尚未在Intellij中配置JDK。 - OneCricketeer
我的JDK配置出了问题,但我在这里找到了正确的配置方法:https://dev59.com/LW445IYBdhLWcg3w9Oss - Antoine Grenard
您缺少一些依赖项。请尝试这个!https://stackoverflow.com/questions/35293116/import-org-springframework-cannot-be-resolved - Mohamed Bouguerra
显示剩余3条评论
14个回答

62

在这里输入图像描述

点击刷新按钮。Maven可能无法正确同步。


2
这对我来说完美无缺。我基于一个新的Maven项目创建了该项目,虽然我可以在CLI上使用mvn,但Intellij向我显示了Atoine的错误。 - Scott Greenup
4
做了这件事,没有任何改变。 - KansaiRobot

22

我曾经也遇到过同样的问题,以下是解决方法:

在源代码根目录上 -> 右键点击 -> 添加框架支持。

一个窗口将会弹出并列出不同的分类,如Java EE、JBoss等。选择'Spring'分类,然后下载你所需的库文件包(我使用的是'Spring MVC')。


3
没有Spring MVC。只有Groovy。 - KansaiRobot
1
在框架支持列表中找不到“spring”。 - Harsha Vardhan Chakka
1
你只能在Intellij Ultimate Edition中找到“Spring”。你可以在配置中选择“Application”。 - Dhannanjai

8

右键单击项目并选择 在终端打开

上下文菜单

在终端中,输入 → mvn -U idea:idea

终端

这将解决特定项目的所有类路径问题


谢谢,我从Github克隆了我的项目并尝试将/src添加为源代码,但在运行此命令之前它无法正常工作。 - ServletException
问题已经解决了。谢谢! - Freakin

6
在我的情况下,触发“无效缓存/重启”帮助IntelliJ现在找到这些依赖项。

The Invalidate Caches/Restart option

根据Mr. BlueSky在这里给出的答案,我成功下载了依赖项。实际上,Vinayak Shedgeri的回答也应该有所帮助。对于那些无法解决问题的人,可以尝试使缓存失效/重新启动

P.S.:根据可能导致此行为的原因,您可以首先尝试简单地重新启动IntelliJ。只是猜测。


6

项目根目录 -> 右键单击 -> 添加框架支持 --> Maven 或 Gradle --> 点击确定


1
我找不到它。 - Sahin

5
请检查您是否已配置了Maven设置。 IntelliJ (文件>设置>构建,执行,部署>构建工具>Maven) Maven主目录路径: C:/Program Files/apache-maven-3.6.0 这解决了我的错误。

5
pom.xml中添加springframework的依赖项,然后在包含pom.xml文件的目录中运行下面的命令。
mvn clean install -U

上述命令将强制下载依赖项。
如果您在代理后面,请尝试以下命令。
mvn clean install -DproxySet=true -DproxyHost=www-proxy.us.com -DproxyPort=80

无法解析的 SNAPSHOT 版本的 parent POM。 - KansaiRobot
我遇到了与OP相同的问题。我使用IntelliJ IDE和Spring Initializer从头开始启动了项目。即使作为项目的一部分,Maven也没有单独安装。我从此链接https://maven.apache.org/download.cgi单独安装了Maven。运行上述命令后,它对我起作用了。 - shanavascet

2
关闭Intellij,删除idea文件夹,重新打开它对我很有帮助。Intellij似乎会再次检查所有内容,然后我的依赖关系就没有任何问题了。

我尝试了所有的方法,唯一有效的建议是这个。 - Sankalp
唯一有效的解决方案。我应该指出,你应该删除项目根目录下的.idea文件夹,因为答案没有明确指出要删除哪个文件夹。 - undefined

0
Maven没有在IntelliJ中添加依赖项,因此我重新启动了IntelliJ IDE,并且这次启动时成功添加了依赖项。

0

只需重新启动您的IDE(Intellij),它应该会要求您开始加载Maven项目。这对我有用。


1
你的答案可以通过添加进一步的支持信息来改进。请编辑以添加更多细节,如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接