javassistのHotSwap関数を使用していますが、クラスパスにtools.jarが必要なので-cp tools.jar
、OSGiアプリケーションを起動するときに追加しました。しかし、私new HotSwap()
がバンドルの1つのコードにいるとき、
java.lang.NoClassDefFoundError: com.sun.jdi.Bootstrap
投げられました。com.sun.jdi.Bootstrap
はtools.jarにあり、クラスパスにすでに追加しています。また、機能しない場合は次のコードが機能しないため、機能することを確認しました。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
HotSwapperのクラスローダーはクラスをロードできませんcom.sun.jdi.Bootstrap
か?それでは、なぜそれが私のEclipse環境で正しく機能するのですか?(ビルドパスのライブラリにtools.jarを追加しました)
NoClassDefFoundErrorの理由については、手がかりをいただければ幸いです。