web-dev-qa-db-ja.com

Intellijインポート時にシンボルを解決できません

この問題は、ライブラリやプロジェクトが異なると断続的に発生します。ライブラリをインポートしようとすると、パッケージは認識されますが、クラス名を解決できません。

Importステートメントで、right-click -> Goto -> the package's declarationと入力すると、すべての逆コンパイル済みクラスがサイドペインに表示されます。ドロップダウン.

キャッシュを無効にしようとしましたが、うまくいきません。クラスの競合が見つかりません - クラスパスに同じパッケージ名のjarファイルが他にありません。このクラスを他のプロジェクトにインポートすることができます。

スクリーンショットを見てください。

enter image description here

enter image description here

誰かが手がかりをお持ちですか?

91
Asaf Ebgi

あなたはキャッシュを無効にしてintellijを再起動することを試みることができます、多くの場合それは助けになるでしょう。

ファイル - >キャッシュの無効化/再起動

166
sahitya

これには複数の理由が考えられます。私の場合、それは間違ったソースルートの問題でした。キャッシュの無効化は他の解決策と一緒には機能しませんでした。

モジュールのソースルートを確認してください。

  1. プロジェクト構造(Ctrl + Alt + Shift + S).

  2. モジュール

  3. 問題のあるモジュールを選択してください。

  4. ウィンドウ "Sources"の上のタブを変更してください。

  5. 不要なソースルートを削除します。 1つ残して、このルートにsrcとテストのソースルートを追加します。

34
Vipin Thomas

私は同様の問題に直面しました、マイクのコメントは私がそれを解決する方向に動くのを助けました。
必要なライブラリも私のプロジェクトのモジュールの一部でしたが、範囲の変更が必要でした。モジュールの依存関係で、私はスコープを "Test"ではなく "Compile"に変更しましたが、今は問題なく動作します。

10
minx

モジュールの依存関係を確認してください。

  1. プロジェクト構造(Ctrl+Alt+Shift+S).
  2. モジュール
  3. 問題のあるモジュールを選択してください。
  4. ウィンドウ "依存関係"の上にタブを変更してください。
  5. 必要なライブラリをチェックしてください(たぶん、 'ライブラリ'タブで指定したライブラリを追加する必要があります)またはモジュールがここにリストされていて、それが正しいスコープを持っています( 'compile')。
10

IntelliJは依存関係の解決に問題があります。以下を試してください。

  1. Pom.xmlを右クリック - > Maven - > Reimport
  2. 再度pom.xmlを右クリック - > Maven - >ソースの生成とフォルダの更新
9
Chandlersingh

ファイル - >キャッシュの無効化/再起動またはプロジェクトの再構築がうまくいかなかった

私のGradleプロジェクトでうまくいったのは、IntelliJ v2017の右上隅にあるGradleタブから、以下に示す黄色いマークのボタンを使用して、「すべてのGradleプロジェクトを更新する」という作業でした。

enter image description here

6
eaykin

Pom.xmlファイルを右クリックし、Mavenに移動してReimportをクリックします。私は同じような問題を抱えていて、これは私のために働きました。

3
rdutta

私は @ jossef-harush@ matt-leidholm から次の答えを見つけました 別のリンクから

  • intelliJエディタで、赤いキーワード(たとえばIntegerをクリックしてを押します。 ALT + ENTER (または電球アイコンをクリック)
  • 意図メニューからSetup JDKを選択します

IntelliJ intentions menu

  • Configureをクリック

Project SDK selection dialog

  • 私の場合は、JDKのパスが正しくありませんでした(/opt/jdk1.7.0_51ではなく/opt/jdk1.7.0_65を指す)

Broken Configure SDK dialog

  • クリックしてください ... そして正しいJDKパスを参照してください。

Fixed Configure SDK dialog

  • キャッシュをクリアしましょう

IntelliJ File menu

2
manntsheth

ファイル - >キャッシュを無効にする/プロジェクトを再起動してプロジェクトをビルドする

1
Harsh

新しいJavaプロジェクトをビルドしようとしたときにも、このエラーが何度も発生しました。

以下は私がこの愚かな問題をどのようにして手に入れたかのステップです。

  1. 空のプロジェクトを作成し、新しいディレクトリsrc/main/Javaを作成します。
  2. ソースパッケージnet.gongmingqm10.sketchを作成します。
  3. gradle wrappergradle ideaを使用してプロジェクト用の必需品を作成します。
  4. build.gradleファイルにいくつかの依存関係を追加し、gradle build、プロジェクトを再インポートします。
  5. 既存のパッケージUser.JavaSchool.Javanet.gongmingqm10.sketchを作成します。
  6. User.Javaでimport Schoolを使用しようとしたときにエラーが発生しました。
  7. Intellijはインポート時にシンボルを解決できないと文句を言い続けています。

解決策:

最初にプロジェクトをビルドし、main/Javaをソースルートとしてマークします。 同じ名前net.gongmingqm10.sketchを持つ新しいディレクトリを作成します。すべてのファイルを古い問題のあるパッケージから新しいパッケージに移動します。

根本原因:

ソースコードのディレクトリツリー

木からわかるように。 net.gongmingqm10.sketchという名前のディレクトリがあります。しかし、私たちが本当に必要としているのは3つのレベルのディレクトリです:net-> gongmingqm10-> sketch

しかし、Intellijでプロジェクトをビルドする前に、net.gongmingqm19.sketchという名前の新しいディレクトリを作成します。これにより、net.gongmingqm10.sketchという名前の実際のディレクトリができます。

インポートしようとしたとき明らかに、a.b.cという名前のweiredディレクトリの下にファイルをintellijインポートする方法はありますか。

1
Ming Gong

srcフォルダがJavaではなくroot sourceとしてマークであることに気付くまで、同じ問題がありました。ソースルートになるJava(src/main/Java)のみに変更することで私の問題は解決しました enter image description here

1
Pipo

キャッシュを無効にして再起動しようとしましたが、うまくいった唯一のことは、.ideaディレクトリを完全に消去してから、新しいプロジェクトを最初から作成することでした。

1
sheldonkreger

@Anton Dozortsev私は同じような行動に夢中になりました。 IDEアプリ、すべてのキャッシュ、環境設定などを削除した後、問題を解決するためにIDEAを何度も再インストールしました。

私はその間にあらゆる種類のステップを試しました(再起動、無効化、.ideaおよび*.imlファイルの削除など)。

結局のところ、問題はIntelliJのidea.max.intellisense.filesize設定によるものです。私の依存関係のサイズよりも小さい100KBに設定したため、IntelliJはそれを不明と表示しています。

修正:

  1. 「ヘルプ」 - >「カスタムプロパティの編集」をクリックしてください。

  2. プロパティをより大きな値に設定してください。デフォルトは2500KBです。idea.max.intellisense.filesize=2500

1
Mihai Bojin

私は同じ問題を抱えていました、そしてその理由はプロジェクトのソースの誤ったマーキングでした。

私は手動でルートコンテンツを作成しましたが、src/main/testフォルダがSourcesではなくTestsとしてマークされていることに気付きませんでした。だから私のテストクラスはTestではなくCompileのスコープを持つすべてのテストライブラリ(JUnitMockitoなど)を持っていると仮定されているのはそのためです。

src/main/testをテストとしてマークしてモジュールを再構築するとすぐにすべてのエラーが消えました。

私は最近NiFiで作業するためにIntellijを使用しようとしている間にこれを持っていました、問題はNiFiがMaven> = 3.1.0を必要とし、私がチェックアウトしたバージョンは3.0.5でした。プロジェクト用にMavenのバージョンを更新することで修正されたので、場合によってはMavenのバージョンの不整合が問題になる可能性があります。珍しい問題:)

0
Isaac

同じ問題。これらの方法でうまくいかない場合あなたはlibをローカルのmavenリポジトリから削除してpomに再インポートすることを試みることができます。

mvn repository

最後にそれは私にとって大丈夫です。

project

0
Misire J

長い捜索の後、私は依存関係がどういうわけか私のプロジェクトで私のマシン上で破損していることを発見しました。奇妙なことは、依存関係がコンパイルされたJavaコードでまだ正しく機能していたことです。しかし、Mavenの依存関係キャッシュをクリーンアップして再構築したところ、問題は解決し、IntelliJはそのパッケージを認識しました。次のコマンドを実行してこれを実行できます。

mvn dependency:purge-local-repository

興味深いことに、私の問題の原因はIntelliJではなく、それ自体でした。

0
JohannesB

[ファイル]-> [同期]を試してください。無効にする前に、IntelliJを閉じて再度開きます。

再起動したら。私は無効になっていたでしょうが、再起動後に同期はすべてをクリアしました。

0

file-> Project Structure - > Modules、問題のあるモジュールを見つけ、それをクリックして、右側のDependenciesタブを選択します。緑色のプラス記号をクリックして、問題の原因となっているjarファイルまたはライブラリを追加します。それは私のために働きます。

0
SteveHu

簡単な再起動は私のために働いた。

最初に再起動してみてからキャッシュを無効にすることを選ぶことをお勧めします。

シモンズ:システムキャッシュを一掃すると、ローカルの履歴がクリアされます。

0
neoguy

原因を突き止めました!

私の場合は、jarファイルにいくつかのJavaソースファイルを追加しますが、Javaソースは悪いと思います。IntellijIdea依存関係ライブラリでは自動的にソースが追加されます。プロジェクト構造 " - >"ライブラリ "、それは私のために働きます。

0
crazycode

私が誤ってこのjarライブラリにソースを追加したため、.ideaフォルダ内のパッケージファイルを編集してしまい、Androidがb/m画像に表示されているソースの行を削除して解決できなくなりました ライブラリエラー

それから解決したgradle and bamの問題を再構築してください。

0
mario

インポートしたMavenプロジェクトにも同様の問題がありました。あるモジュールでは、インポート時に他のモジュールの一部のシンボルを解決できません(はい、そのモジュールの一部は解決できます)。

「Mavenホームディレクトリ」を新しいバージョンに変更して問題を解決しました。

更新日:1時間、壊れた状態に戻る.

0
Wenbin