GroovyShell shell1 = new GroovyShell();
shell1.evaluate("String.metaClass.foo = {-> delegate.toUpperCase()}");
, 변경이 여전히
있습니다GroovyShell shell2 = new GroovyShell();
Object result = shell2.evaluate("'a'.foo()");
GroovyShell 실행 후 모든 메타 클래스 변경 사항을 실행 취소 할 수 있습니까? 나는
shell1.getClassLoader().clearCache();
및
shell1.resetLoadedClasses();
을 시도하지만 변화하지 않았다.
일부 클래스 로더를 망쳐 놓고이 작업을 수행 할 수 있습니까? – cretzel