Java標準ライブラリ(java。*パッケージに定義されているライブラリ)をアンロードすることは可能ですか? 。 - Javaの*クラスJava標準ライブラリをアンロードする方法
for(String testClass : testClasses) {
CustomClassLoader cl = new CustomClassLoader(this.getClass().getClassLoader());
Class<?> _class = cl.loadClass(testClass);
JUnitCore junit = new JUnitCore();
Result result = junit.run(_class);
registerResult(result, cl);
}
私が午前問題は、いくつかのクラスがアンロードされていないということですので、同じよう
私のアプリケーションは、JUnitテストを実行するためにClassLoader
、自身の持つそれぞれを必要とします。
アンロードしないと、テストクラスがjava.security.Security
クラスで提供される静的メソッドを使用してオブジェクトを格納し、次にClassCastException
を取得するとどうなりますか。
強制的に荷降ろしする方法はありますか?
通常、標準のJavaクラスは、CustomClassLoaderの親クラスローダーによって(一度)ロードされます。だから私は実際にそれらをアンロードするための要件を理解していません。 –
@Andreas_Dシングルトンのようなテストランで共有される静的なグローバル値がある可能性があるためです。 – aperez