IntelliJ IDEA 2017.2
我知道这已被问到,但我已经尝试了所有我能找到的解决方案,如下所示。
我的java代码中的每个符号都有一个错误Cannot resolve method或Cannot resolve symbol。但是,代码仍然编译并运行0错误。 IDE中的错误消息在我第一次在3台独立的计算机上打开项目时启动,但在第四台计算机上运行良好....我在第四台计算机上找不到任何不同的东西。
我已遵循此问题的以下说明:
File -> Invalidate Caches / Restart
I deleted the [IDEA system](https://intellij-support.jetbrains.com/hc/en-us/articles/206544519-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs) directories, and re-imported the Maven project.
I have re-imported the Maven project
I re-imported the project with auto-import
我也按照这个问题的说明:
File -> Synchronize
然后
File -> Invalidate Caches / Restart
以及这里的解决方案:
检查源根
Ctrl+Alt+Shift+S
模块源根目录或模块依赖项中没有错误或修复。
我也尝试重新导入"按递归搜索项目"按照此处的建议进行检查。
EDIT1
这不是我实际代码的截图,但我的错误与此帖子的屏幕截图相同。
EDIT2
我刚刚发现了一个我以前没见过的错误。当我进入项目结构(Ctrl + Alt + Shift + S)时,在Libraries下,我看到以下错误。
我检查了显示/home/user/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7-sources.jar的位置,但它不存在。我有antlr-2.7.7.jar,但我不确定是否需要下载antlr-2.7.7.7-sources.jar,或者只是将我的库指向我所拥有的.jar(因为我不熟悉这些设置的作用)
你尝试过创建一个新项目吗?
还没。该项目非常庞大,但如果没有推荐的解决方案,这可能是我的下一步。
你能发贴一些截图吗?
在编辑中添加。不是我的代码,而是字面上的每个文件,带有方法或符号的每一行都用红色加下划线。
看起来你正在使用maven,你必须更新pom.xml
你有没有为你的Maven项目添加SLF4J?
如果从命令行运行mvn clean install会发生什么?
@ValerieHouseman mvn清理并安装两个运行完全成功。没有问题。
@JohnJoe我不认为它是pom.xml文件的一个问题,因为我们有另一个开发人员可以在他的intellij中运行一切没有错误。话虽如此,我仍然经历并确保所有版本在pom文件中实际匹配。
@trueCamelType您是否将语言级别设置为正确的JDK级别? stackoverflow.com/questions/29915259/
@trueCamelType我看到一个根pom.xml和几个目录也有pom.xml定义的maven项目当你构建所有这些项目时,你的序列是什么?有些人依赖别人吗?
答案是逐行查看pom.xml文件,看看我没有的依赖项。我认为这是一个配置问题,但事实并非如此。
我没注意到我没有lombok插件,这是我项目的依赖项。
EDIT2中列出的问题实际上并不是问题,因为所有类都可用。
谢谢。我有同样的问题。这节省了我很多时间!
由于您的项目使用mvn clean install成功编译并运行,因此您知道您的pom是有效的。
鉴于此,我建议:
CloseIntelliJ
删除每个模块的.idea目录和任何*.iml, *.ipr文件。别担心,IntelliJ会重新创建它们。如果您真的担心,请通过重命名来备份它们。
打开IntelliJ并找到新项目向导。
找到从现有maven项目导入的选项
选择根项目的pom
检查模块设置是否正确。打开项目结构(Ctrl + Alt + Shift + S)并检查"源"选项卡下的源目录设置是否有效。
在Source选项卡中正确设置了所有内容。
@trueCamelType检查您是否对应的依赖项并检查Java版本以及语言设置
我只是查看项目结构下的库(Ctrl + Alt + Shift + S),发现我的源和javadoc是红色的。我添加了一个屏幕截图到我的问题。我不是100%确定我是否应该更改这些,或下载源。
@trueCamelType也点击maven标签下的小刷新图标
@trueCamelType很高兴你在项目结构下发现了一些错误。如果有帮助,请投票并接受我的回答。
谢谢你帮我找到错误。我还是不确定如何解决这个问题。绝对是一个upvote。
@trueCamelType鼠标悬停在错误上并按Alt + Enter并按照它所说的..,
库中没有alt + enter选项,但是在实际代码中的错误中,它只是询问是否要我创建已存在的类/方法/符号。
@trueCamelType,是的,我的意思是代码。所以看起来它没有拿起依赖,因此要求创建类。您是否尝试通过单击Maven项目选项卡下的小刷新图标来重新导入依赖项。
我不确定Maven Projects选项卡在哪里,但在Project Structure下,有一个Project选项卡,但没有关于maven的信息。但是,我已经将整个项目重新导入maven 10次。
@trueCamelType视图>工具窗口> Maven项目
@trueCamelType,还尝试删除.m2中的相关依赖项并重建应用程序,以便在.m2中重新安装。还要检查您是否更新了凭据并忘记更改settings.xml(如果您要连接到orgs内部仓库)
是的,我已经完成了这两个错误。删除了.m2中的依赖项目录并刷新了maven(认为是指示)。我没有设置内部回购。
你正在使用maven项目,删除.m2文件夹并更新maven项目并清理项目重建它并运行它...有时maven项目会发生这种类型的问题,通过重建项目来解决。还要检查依赖项的版本。
糟糕的建议,因为它核了settings.xml。在清除有帮助的极少数情况下,删除~.m2repository就足够了。