IntelliJ找不到任何声明


131

我完全卸载了IntelliJ,现在重新安装并导入了我的项目。我使用gradle导入,可以看到我项目中的所有文件。但是,当我打开文件时,通过执行cmd +单击找不到任何声明。我已经安装了Java 7 SDK,甚至无法进入自己项目中的类声明。转到Java核心类,例如StringList都行不通。如何使IDE能够找到我的班级?

我在OSX Yosemite上,IntelliJ 2016.1.2内部版本145.972。


30
您的源目录是否标记为源路由?如果不是,请右键单击包含Java类的目录,然后:将目录标记为->源根
AniaG 2016年

就我而言,我需要将资源文件夹标记为Resources Root
Genfood

1
在这里也可以使用,但是用户必须这样做有点愚蠢……
fresko

Answers:


265

我遇到了同样的问题,评论中@AniaG的解决方案对我有用。

  • 右键单击src文件夹
  • 将目录标记为 > 源根

在此处输入图片说明


1
上下文菜单中不再有“将目录标记为”选项。使用CMD + shift + A查找“标记目录为”操作
Leo Droidcoder

3
我仍然认为它是IntelliJ IDEA 2017.1.3中的一个选项
托马斯

6
标记java文件夹,而不是src对我的作品
Searene酒店

设置此项时,错误会显示整个项目。怎么了。
JustCode

1
使用Maven目录结构,我必须将src / main / java标记为Sources Root,将src / main / resources标记为Resources Root,并将测试目录标记为测试源副本。当某些n00b以低调的方式告诉我“使用Intellij进行开发比使用Eclipse进行开发要快得多”时,我总是需要控制自己的“死亡之拳”。
史蒂夫·盖尔曼

40

我遇到了同样的问题,花了将近15-16个小时的时间来清理,重建,使缓存无效,将Idea从16.3升级到17.2,但徒劳无功。我们有一个由Maven管理的项目,该构建曾经很成功,但是由于Idea无法看到文件,因此无法在声明/实现之间导航。

在无休止地尝试解决此问题之后,终于让我意识到这是导致所有头痛的IDEA设置。这是我所做的(Windows系统):

  1. 退出IDE
  2. .iml从项目目录del / s / q“ C:\ Dev \ trunk \ *。iml”中递归删除所有文件
  3. 查找和删除所有.idea文件夹
  4. 删除缓存,索引和LocalHistory文件夹下的内容 <user_home>\.IntelliJIdea2017.2\system
  5. 打开想法并导入项目...。

瞧瞧AAAAAAAAAAAA ... !! 我希望这可以帮助一个可怜的灵魂痛苦


1
.IntelliJIdea2017.2 \ system在哪里?该路径系统特定吗?
丹尼尔·雷纳

我在build.gradle.kts文件中遇到了这个问题,并删除了.idea目录和。iml项目文件足以解决问题。值得注意的是:这正在Windows中打开一个Linux项目(两个版本的IntelliJ都是相同的-2019.3)
Nathan

大!!在MaxOS上,仅删除为我解决的.idea文件夹(所有.iml文件都在其中)。
VadimBelov

18

我的想法也有同样的问题,我试图打开一个Maven项目,但pom文件未找到。因此,右键单击pom文件并选择“添加为maven项目”对我来说是不可思议的:)


1
同样,但对我而言,这是“重新导入”
jsharp

相同!在“添加为maven项目”之后,我不得不再次右键单击pom.xml-> Maven->重新加载项目。并开始浏览:)
QauseenMZ

12

我在IntelliJ mvn项目中遇到了类似的问题。无法识别Pom.xml。对我有用的是右键单击pom.xml,然后将其添加为maven项目。


1
相同!在“添加为maven项目”之后,我不得不再次右键单击pom.xml-> Maven->重新加载项目。它开始导航:)
QauseenMZ

9

有同样的问题。但仅凭我自己的方法。
只需通过使缓存无效即可解决:(“文件”->“使缓存无效/重新启动”)


6

如果您在Java文件的图标上看到红色圆圈,并收到类似“找不到要转到的声明”的警告。然后,您可以执行以下操作:

  1. 右键单击您的项目/模块的根文件夹。
  2. 将目录标记为->已排除。

在此处输入图片说明

这个对我有用。在Windows 7中,Intellij 2016.1.1


5

您需要将符号所在的源文件夹(类)配置为“内容根目录”。

  • 开放项目结构: #;
  • 点击模块
  • 您可以为要导航到的每个模块配置内容根(源,测试,资源等)。

完成后,您应该能够导航到符号。


5

在大多数情况下,构建IDE或其他相关内容的缓存存在问题。

很有可能,,File -> Invalidate Caches / Restart只要让IDE完成其缓存,就可以解决此问题。


3

cannot find declaration to go to曾经在我的Maven项目中发现此问题。原因是我项目中的一个子项目没有正确导入为Maven项目。


3

右键单击您的src文件夹,然后选择“将目录标记为”-“源根目录”选项,然后再次右键单击您的项目,然后选择“重新格式化代码”(也在此下选择清除代码),这将工作正常。


2

确保将包含编译的类和库的目录标记为源根。


2

就我而言,我只是将IntelliJ更新为Ultimate 2018.2,我的所有项目突然都找不到实现和“ src”文件夹-事实证明IntelliJ删除了项目类型(例如Maven)。

我所做的是:

右键单击根项目>添加框架支持...>查找Maven(在我的情况下)>等待再次重新编制索引>然后它再次起作用。


更新2:

当我更新IntelliJ(2019.1.1 Ultimate Edition)时,我始终会遇到此问题。只需单击Maven选项卡的刷新按钮,它应将当前项目重新索引为Maven项目:
在此处输入图片说明


2

原因之一可能是它无法检测到pom.xml(或gradle文件),这就是为什么不能将其设置为maven项目(或gradle)的原因。

您可以通过选择pom.xml(或gradle文件)将其手动设置为Maven(或Gradle)项目。


1

IDEA可能会忽略您的某些Maven依赖文件。项目结构中的“外部库”节点可能为空或不完整。

去:

  1. IntelliJ->首选项
  2. 搜索Maven [在左侧选项卡上]->被忽略的文件
  3. 查看右侧是否有任何被选中(忽略)的路径,然后取消选中。在此处输入图片说明

您也可以在Maven选项卡中更改此设置。被忽略的模块将显示为灰色。
Def_Os

1

遇到相同的问题,就我而言(Java项目),我不得不在项目的库部分中包括所有依赖的jar。

文件->项目结构->库

我必须在上一节中添加依赖于项目的jar(例如; project / web / lib /)。这样做之后,一切都解决了。希望对您有所帮助。


0

就我而言,我正在使用带有子项目的gradle项目。IntelliJ找不到声明的原因是未构建子项目。

在调查了为什么不构建子项目后,我发现使用“自动导入”破坏了子项目。

build.gradle 没有自动导入的项目导入后,它为我工作。


0

对于它的价值,在Pycharm中是:右键单击根文件夹->标记目录为->源根


0

对于Python项目,同样的问题!!!

我试图做一个干净的新intellij项目并更新了所有内容。尝试了不同的虚拟环境,但没有解决。

直到我卸载了Python插件+重新启动IntelliJ + Intall Python插件+再次重新启动IntelliJ。我不确定这是否是“真正的”解决方案,但它解决了我的问题。

也许您可以尝试一些Java“ Plugin” / JDK熟悉的东西?


0

就我而言,以上方法均无济于事。仅将Intellij从2017.3升级到2018.2有帮助。

不要尝试2018.1,因为它有一个错误,其中不会出现``查找文件''弹出窗口。


0

对于上述解决方案无效的人。

对于gradle,

文件->项目结构

单击项目项目设置

项目语言级别更新为模块,接口中的私有方法等。

单击确定,然后导入Gradle设置

项目结构


0

我以某种方式将我的Maven模块设置为忽略。在Maven工具窗口中,右键单击并选择“取消忽略项目”。

然后将自动选择所有目录。

在此处输入图片说明


0

我也面临这个问题。我已经尝试过这里提到的解决方案。问题似乎与源文件夹无关。

对我来说,当我安装新版本的IntelliJ(使用2019年版本移至2020年版本)时发生了问题。该项目已在新版本中打开,但缺少声明。

我通过以下方式解决了这个问题:

 - File>Project Structure.  
 - Under Project Settings go to Modules. Here you should see the different project folders, for me it was not there. 
 - Click the + button on top and click Import Module.
 - Select the root pom.xml and wait for the indexing to complete.

索引完成后,所有声明均起作用。


-1

如果您不熟悉IntelliJ,则可能需要一些时间来了解IntelliJ。如果代码是用Java编写并使用Cucumber框架编写的,那么我们有两个主要文件-

  1. 功能文件
  2. 步骤定义文件

目标:我们在功能文件中定义的内容是什么,必须导航到“步骤定义文件”。(Ctrl +单击)注意:功能文件也必须包含一些彩色的小黄瓜关键字。如果不遵循以下步骤,

解决方案:转到文件>>设置>>插件-搜索“ Cucumber for Java”。添加插件重新启动IntelliJ,它肯定可以工作。


面向Java的Cucumber与IntelliJ捆绑在一起
dustinevan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.