Можно ли выгрузить стандартные библиотеки Java - те, которые определены в пакетах java. *?
Мое приложение должно запускать тесты JUnit, каждый со своим собственным ClassLoader
, например:
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);
}
Проблема, с которой я столкнулся, заключается в том, что некоторые классы не выгружаются - java. * Classes.
Если я не выгружу их, то что произойдет, если классы тестирования будут хранить объекты с использованием статических методов, подобных тем, которые предоставляются классом java.security.Security
, тогда я получу ClassCastException
.
Есть ли способ заставить меня разгрузить их?