11

実際には Callable である静的内部クラスをデバッグしたいと考えています。Eclipse で条件付きブレークポイントを設定しようとすると、ブレークポイント エラーが発生します。

タイプcom.sun.source.tree.Tree$Kindを解決できません。必要な .class ファイルから間接的に参照されます。

このエラーの原因は何ですか? com.sun.source.tree.Tree$Kindそれを使用しているが提供していないクラス/パッケージのバグですか? それがどのクラスかを調べるにはどうすればよいですか?どうすれば解決できますか?


正しいはずの式の例は次のとおりです。return mRtx.getNode().getNodeKey() == 74;

に変更しましたmRtx.getNode().getNodeKey() == 74が、それでも同じエラーです。最近、私はバグを見つけて、単に使用しました:

 if (mRtx.getNode().getNodeKey() == 74) {
     System.out.println("bla");
 }

誰かが同じ問題を抱えている場合に備えて、「sysout」ステートメントに「通常の」ブレークポイントを設定します。

4

3 に答える 3

3

あなたの説明は正確に多くを語っていないので、どのように再現するかはわかりません。

パッケージは、com.sun.source.treeJDK の一部であるが JRE の一部ではない tools.jar に含まれているため、Eclipse を JDK (JAVA_HOME 変数?) で実行するようにしてください。プロジェクト JRE を JDK フォルダーに設定してみてください。

また、コンパイラ API は Java 6 で導入されたと思いますので、以前のバージョンを使用していないか確認してください。

于 2011-09-26T17:31:02.817 に答える
2

デバッガのソース ルックアップを編集してみてください。

これを行うには、デバッグ パースペクティブに移動し、デバッグ ビュー (スタックが通常表示される場所) で終了した実行を右クリックし、[ソース ルックアップの編集...] を選択します。

次に、検索場所を追加できます。この場合、jre フォルダーにある tools.jar を追加する必要があります。

于 2011-09-26T14:28:22.380 に答える
1

コンパイラはタイプを見つけることができません。これが根本的な問題ですが、私の考えでは、これはコンパイル時のエラーにすぎないはずですが、私が読んだことからすると、実行時のエラーです。あれは正しいですか?

ここにいくつかのヒントがあります:

http://java.syntaxerrors.info/index.php?title=Cannot_resolve_type

必要な.classファイルから間接的に参照

たぶん、より多くのコードを投稿するか、クラスのEclipseで「control +T」を使用して型階層を調べることができます。他にどのクラスが参照されているか知りたいです。

HTH、

ジェームズ

于 2011-09-21T13:06:31.120 に答える