2011-09-02 81 views
11

実際にコール可能な静的な内部クラスをデバッグします。 Eclipseで条件付きブレークポイントを設定しようとすると、ブレークポイントエラーが発生します:Eclipse /条件付きブレークポイントでブレークポイント例外が発生する

The type com.sun.source.tree.Tree$Kind cannot be resolved. It is indirectly referenced from required .class files.

このエラーの原因は何ですか?それは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」文に「通常の」ブレークポイントを設定します。

+1

あなたはあなたが言及しているすべてのクラスでそれを明確にするためにあなたの質問を完了してください。本当の質問は何ですか? –

+0

ここでは、JVMを使用してeclipseを実行し、デバッグされたソフトウェアを実行します。 –

答えて

1

コンパイラはタイプを見つけることができませんが、それは根本的な問題ですが、私の考えでは、これはコンパイル時エラーであるべきですが、私が読んだことから暗黙のうちに、ランタイムエラーです。あれは正しいですか?私は、たぶん、あなたはより多くのコードを投稿したり、型の階層を見てクラス上のEclipseで「コントロール+ T」を使用することができ

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

Indirectly referenced from required .class file

:ここ

は、ISいくつかのヒントです他のどのクラスが参照されているか知りたい。

HTH、

ジェームズ

+0

リンクありがとうございました(+50)。 – DaveFar

+0

うれしい私は助けてくれることができました。 –

2

たぶん、あなたは、デバッガのソース・ルックアップを編集しようとする必要があります。

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

次に、参照場所を追加できます。この場合は、jreフォルダにあるtools.jarを追加してください。

+0

ありがとうございます。これは私の問題を解決しました。それは2を選択するよう求めます(アンマネージドソースは、プロジェクトのリンク元として提供され、実行パスには含まれていませんが、管理可能です)。 –

3

あなたの説明が正確には分かりませんので、私はそれを再現する方法についてはわかりません。

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

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

+0

お返事ありがとうございます(+1)。 jamesDrinkardが私に素晴らしいサイトhttp://java.syntaxerrors.infoを表示していなかった場合、私はあなたに+50を与えたでしょう。 – DaveFar

+0

私のマシンでは、JDKを使用していたとしても、javaインストールからtools.jarを手動で追加する必要がありました:Window> Preferences> Installed JRE、JDKを選択し、 "edit"を押してtools.jarをlib-subfolderがまだ存在しない場合 – evandor

関連する問題