2012-08-26 18 views
31

"GameManager.java"クラスからスタティックシングルトンインスタンスを呼び出す。IntellijのJavaプロジェクトで "シンボルを見つけることができません"を取得する

HUD.getInstance().update(timeDelta); 

HUD.javaは、HUDクラスだけでなく、他の二つの関連するクラス、HUDTextElementとHUDElementが含まれています。すべてのクラスが同じルートパスにあります../src/org/mypackage

IntelliJでこのJavaプロジェクトをコンパイルすると、「シンボルHUDが見つかりません」という行が表示されます。HUD.getInstance()呼び出しを行います。

この正確なコードは、Eclipseの問題は何ですか?

+0

両方でHUDクラスをインポートしていますか? –

答えて

19

これは../srcフォルダがIntellij IDEAの「ソース」フォルダとしてマークされていない可能性があります。そのため、あなたのクラスを見つけるためにそこを見ることは知られていません。プロジェクトエクスプローラでフォルダを右クリックして「ソースフォルダとしてマーク」を選択すると、これを修正できます。

+0

1は可能ですが、HUDが見つからないというエラーは表示されませんが、getInstance/updateメソッドがないというエラーが表示されませんでしたか? –

+0

良い点アレックス、私は編集しました。ありがとう! –

+0

うん:)良い今、+1: –

10

これまでのおかげで、最初にHUD.javaをコンパイルすることができました(ファイル→Compile HUD.javaを右クリックしてください)。 javaファイルをコンパイルした後、残りのプロジェクトは問題なくコンパイルできます。

なぜこれを修正したのか、なぜIntelliJが自動的にこれをしないのかわかりませんが、IntelliJが単一の.javaファイルに複数のクラスを持つことを正しく処理していないと思われます。

+1

IntelliJは1つのファイルで複数のクラスを処理できますが、ある時点でファイルがコンパイルされていることを確認するだけで済みます。 – Makoto

+0

ええ、1つのクラスファイルで同じ問題が発生したばかりです。奇妙なことに、このmavenコマンドを実行する前にはうまくいきました。 'mvn com.zenjava:javafx-maven-plugin:2.0:fix-classpath'です。 javafx jarをlibsディレクトリから現在のJDKのextディレクトリに移動することを意味します。私はそれを見つけた[ここ](http://zenjava.com/javafx/maven/fix-classpath.html)。 – nihilon

45

私は同じ問題を抱えていましたが、新鮮なプロジェクトを完全に編集したことはありませんでした。右クリックしてCompile ''(MacではShift-cmd-F9)を選択すると修正されました。これは、コンパイル時にコンパイルされていないファイルを '参照'していないようです。

ソースとしてsrcフォルダをマークすると、ではなく、が私の場合に役立ちます。

+0

これは私にとってそれを解決しました。 +1: – Babyburger

5

私は自分のプロジェクトでmavenを使用しています。何らかの理由でIntelliJが私にこの種の奇妙なエラーを与えていました。私はmvnをきれいにして再同期を試みましたが、これらのエラーは消えました。

+0

mvn cleanとは何ですか? – clankill3r

+1

cleanは、Mavenのライフサイクルです。 Mavenプロジェクトで作成されたすべての出力ファイルをクリーンアップする場合に使用します。 –

+0

しかしそれは私のために働いた – gleitonfranco

2

これは古い質問ですが、私の最近の経験では、ビルドリソースが削除されたり、Ideaがソースとして認識できないことが原因です。

エラーが表示される箇所はすべて、フォルダ/ディレクトリのソースを指定してください。このエラーを解決する必要があります。

フォルダ全体のソースを割り当てても、個々のクラスが使用できないことがあります。初心者のユーザーにとっては、簡単な解決方法は、新しいコピーをインポートして、アプリケーションを再構築して、うまくいくようにすることです。

この後にクリーンインストールを行うことをお勧めします。

10

Build -> Make Projectを実行したときと同じ「記号を見つけることができません」というエラーが発生しました。私は、私のプロジェクトモジュールを右クリックしてMaven -> Reimportを実行し、Build -> Rebuild ProjectをやってMaven /targetフォルダを削除することでこれを解決しました。これはIntelliJ Idea 13.1.5にありました。

私が最終的にやった前に問題が数回現れたので、Maven -> Reimportが鍵だったことが判明しました。

+2

私はこの問題があったが、すべてのエラーは 'Maven - > Reimport'の後に消えた。ありがとうございました! – nicolimo86

-1

私はこれが古いと知っていますが、他の人にとっては、あなたがエラーを出したクラスと同じパッケージ内にあることを確認してください。

+0

他のパッケージからクラスをインポートすることができるため、ダウン投票しました。一般的には、ターゲットクラスをインポートし、クラスパスにインポートする必要があります。 Mavenを使用するときは、依存関係を正しく設定する必要があります。 – fxnn

8

私は同じ問題を抱えていたし、ファイルをクリックして、固定> /キャッシュを無効

0

を再起動して、これがエラー「IntelliJのシンボルを見つけることができません」の検索Googleで最初のヒットであるので、私は私の溶液中つもり投げますよ同じように。

私の問題は、私のプロジェクトがEclipseに由来し、いくつかのファイルが、pom.xmlの仕様でsrc/generated-sourcesで生成されたクラスに依存していることでした。何らかの理由で、プロジェクトを最初に開いたときに正しく実行されず、再ビルド/再インポートが役に立たなかったため、ファイルは生成されませんでした。

解決策は、モジュールを右クリックし、Maven -> Generate Sources and Update Foldersを選択して問題を解決しました。コンパイルできました。

0

参照しようとしているJavaクラスのソースファイルのファイル名が.javaであることを確認してください。私の場合は.ajでした(作成時には "Create class"ではなく "Create aspect"になるはずです)。 IntelliJは "normal"クラスと同じアイコンをこのファイルに表示しますが、ビルド時にコンパイラはそれを認識しません。

.aj.javaを私のケースで修正しました。

22

選択ビルド - >プロジェクトは、それが

0

時にはあなたが望むクラスがtestソースディレクトリにある解決します再構築します。とにかく私に起こった...

0

私も同じ問題を抱えていました。私が解決したのは、出力フォルダを削除して(私の場合は)、プロジェクトをビルドしたことでした。これで問題は解決しました。

関連する問題