Sun JVMが、呼び出した静的メソッドで使用されていないクラスを読み込もうとしている問題をデバッグしようとしていますが、その結果、が発生しNoClassDefFoundError
ます。以下の詳細:
メソッドA.x()
が呼び出さB.getTZ_OFFSET()
れ、コントロールがに達する前でもに遭遇しNoClassDefFoundError
ます。私はのすべての静的変数とブロックを調べましたが、それらのどれも参照しておらず、それに密接に関連しているものもありません。クラスをインポートするだけでは、クラスはロードされないと思います。OraclePreparedStatement
getTZ_OFFSET
B
OraclePreparedStatement
どのJVMがロードしようとしているかに基づいて、依存関係を見つけるにはどうすればよいOraclePreparedStatement
ですか?
スイッチ-verbose:class
は、JVMがロードしようとしているクラスではなく、正常にロードされたクラスのリストのみを提供します。その情報を取得する方法もありますか?
どんな助けでも大歓迎です。
ojdbc.jarをインポートすると問題が解消されることは承知していますが、そもそもなぜそれをロードしようとしているのかという根本的な原因にもっと興味があります。