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