1. ホーム
  2. java

[解決済み] mavenの "cannot find symbol "メッセージは助けにならない

2023-05-06 15:48:56

質問

これは本当に単純な質問で、おそらく私が知らないどこかの設定なのでしょうが、Google はこの質問に対して特に役に立たず、コンパイル エラーに関する結果を出し、コンパイル エラー メッセージを変更する方法は教えてくれません。

maven で私のプロジェクトをビルドすると、おおよそ次のような形式のエラーメッセージが表示されます。

[ERROR] /path/to/source/Main.java:[13,8] error: cannot find symbol

antやjavacでビルドすると、エラーメッセージの中に見つからないシンボルを実際に教えてくれます。mavenでは行番号や文字位置を教えてくれますが、実際のシンボルを表示してくれるともっと助かります。 上の行は、各"cannot find symbol"エラーに対して与えられた唯一の行です。 上にも下にもシンボルを示す行はありません。 私は、mavenにその情報を教えてもらう何らかの方法があるはずだと想像していますが、それが何であるかはわかりません。 mvn がそれを使用してみるように私に言ったように、私は -e オプションを試しましたが、それは実際のシンボルではなく、エラーのための maven のトレースバックを与えられました。

何か助けはありますか?

mvn --versionの出力です。

Apache Maven 3.0.4 (rNON-CANONICAL_2012-10-24_11-25_mockbuild; 2012-10-24 07:25:04-0400)
Maven home: /usr/share/maven
Java version: 1.7.0_09-icedtea, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.6.6-1.fc17.x86_64", arch: "amd64", family: "unix"

そして、これは(役に立たない)エラーメッセージの例で、まさにmavenによって出力されたものです(ディレクトリが短縮されているだけです)。

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /path/to/source/SoundEngineFilePanel.java:[33,8] error: cannot find symbol
[ERROR]  class SoundEngineFilePanel
/path/to/source/SoundEngineFilePanel.java:[36,8] error: cannot find symbol
[INFO] 2 errors 
[INFO] -------------------------------------------------------------

見つからないシンボルは "fakeThing" と "fakeThing2" で、SoundEngineFilePanel ではありません。

どのように解決するのですか?

これは バグ のバグで、JDK7に関連したものだと思います。JDK6では問題なく動作します。