IntelliJは宣言を見つけることができません


131

IntelliJを完全にアンインストールし、プロジェクトを再インストールしてインポートしました。Gradleを使用してインポートしたところ、プロジェクト内のすべてのファイルが表示されています。しかし、ファイルを開いたときに、cmd +クリックで移動する宣言が見つかりません。Java 7 SDKをセットアップしていますが、自分のプロジェクトのクラスの宣言に行くことさえできません。のようなJavaコアクラスに移動することもStringList機能しないこともあります。IDEでクラスを見つけられるようにするにはどうすればよいですか?

OSX Yosemite、IntelliJ 2016.1.2ビルド145.972を使用しています。


30
ソースディレクトリはソースルートとしてマークされていますか?そうでない場合は、Javaクラスを含むディレクトリを右クリックして、[Mark Directory As]-> Sources Root
AniaG

私の場合、リソースフォルダをにマークする必要がありましたResources Root
-Genfood

1
ここでも機能しましたが、ユーザーがそれを行わなければならないのは少しばかげています...
fresko

回答:


266

私にも同じ問題があり、@ AniaGのコメントでの解決策がうまくいきました。

  • srcフォルダを右クリック
  • ディレクトリにマークを付ける > ソースルート

ここに画像の説明を入力してください


1
コンテキストメニューに[Mark directory as]オプションはもうありません。CMD + Shift + Aを使用して、「ディレクトリにマークを付ける」アクションを見つけます
Leo Droidcoder

3
IntelliJ IDEA 2017.1.3のオプションとして引き続き見ています
Thomas

6
仕事ではjavaなくフォルダーにマークをsrc
付ける

これを設定すると、エラーがプロジェクト全体を示します。どうしましたか。
JustCode

1
Mavenディレクトリ構造では、src / main / javaをソースルートとして、src / main / resourcesをリソースルートとして、テストディレクトリをテストソースとしてマークする必要がありました。一部のn00bが「Intellijを使用した開発はEclipseを使用した開発よりもはるかに高速である」と降順で言うとき、私は常に「死の拳」を制御する必要があります。
Steve Gelman

40

私は同じ問題に直面し、クリーニング、再構築、キャッシュの無効化、Ideaの16.3から17.2へのアップグレードに、ほぼ15〜16時間を費やしましたが、すべて無駄でした。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. アイデアを開いてプロジェクトをインポート....

VOILAAAAAAAAAAAA ... !! これが貧しい魂の痛みに役立つことを願っています


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
同様に、私にとっては「再インポート」
でした

同じ!「mavenプロジェクトとして追加」の直後に、もう一度pom.xml-> Maven-> Reload Projectを右クリックする必要がありました。そしてそれはナビゲートし始めました:)
QauseenMZ

12

IntelliJ mvnプロジェクトでも同様の問題が発生していました。Pom.xmlが認識されませんでした。私にとってうまくいったのは、pom.xmlを右クリックして、Mavenプロジェクトとして追加することでした。


1
同じ!「mavenプロジェクトとして追加」の直後に、もう一度pom.xml-> Maven-> Reload Projectを右クリックする必要がありました。そしてそれはナビゲートし始めました:)
20:04に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 toMavenプロジェクトでこの問題を見つけました。これは、私のプロジェクトのサブプロジェクトの1つがMavenプロジェクトとして正しくインポートされなかったためです。


3

srcフォルダーを右クリックして、オプションとして「マークディレクトリとして」-「ソースルート」を選択し、それとともにプロジェクトを右クリックして、「コードの再フォーマット」を選択します(この下にクリーンアップコードも選択します)。うまくいきます。


2

コンパイルしたクラスとライブラリを含むディレクトリがソースルートとしてマークされていることを確認します。


2

私の場合、IntelliJをUltimate 2018.2に更新したところ、すべてのプロジェクトで実装と「src」フォルダーが突然見つかりませんでした。IntelliJがプロジェクトのタイプ(Mavenなど)を削除したことがわかりました。

私がしたことは:

ルートプロジェクトを右クリック>フレームワークサポートを追加...> Maven(私の場合)を探します>再度インデックスが作成されるのを待ちます>その後、再び機能します。


更新2:

IntelliJ(2019.1.1 Ultimate Edition)を更新するとき、私はいつもこれに遭遇しています。Mavenタブの更新ボタンをクリックするだけで、現在のプロジェクトのインデックスがMavenプロジェクトとして再作成されます。
ここに画像の説明を入力してください


2

理由の1つは、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プロジェクトを作ってみて、すべてを更新しました。別のvirtualenvsを試してみましたが、何もうまくいきませんでした。

UNTIL私はPythonプラグインをアンインストールし、IntelliJを再起動します+ Intall Pythonプラグイン+ IntelliJを再起動します。これが「実際の」ソリューションであるかどうかはわかりませんが、問題は解決しました。

たぶん、Java "Plugin" / JDKのなじみのあるものを試すことができますか?


0

私の場合、上記のどれも役に立ちませんでした。2017.3から2018.2へのIntellijのアップグレードのみが役立ちました。

2018.1には、[ファイルを検索]ポップアップが表示されないというバグがあったため、試さないでください。


0

上記の解決策がうまくいかなかった人のために。

グラドルの場合、

ファイル->プロジェクト構造

クリックして、プロジェクトの下でプロジェクト設定

プロジェクトの言語レベルを次のように更新しますモジュール、インターフェイスのプライベートメソッドなどのします。

[OK]をクリックして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を初めて使用する場合u IntelliJを理解するには少し時間がかかる場合があります。コードがJavaで記述され、キュウリフレームワークを使用している場合、2つのメインファイルがあります-

  1. 機能ファイル
  2. ステップ定義ファイル

目標:機能ファイルで定義したものは何か、ステップ定義ファイルに移動する必要があります。(Ctrl +クリック)注:機能ファイルには、いくつかのカラフルなガーキンキーワードも含まれている必要があります。以下の手順に従っていない場合

解決策:ファイルに移動>>設定>>プラグイン-「Java用のCucumber」を検索プラグインを追加してIntelliJを再起動します。確実に機能します。


Cucumber for JavaがIntelliJにバンドルされています
ダスティンバン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.