}
}
@Override
public Class<?> startup() {
ClassModifierClassLoader loader = new ClassModifierClassLoader(this);
try {
loader.loadClass(productClass.getName());
/*ClassReader nameRefactorReader = new ClassReader(loader.getModifiedClassBytes());
ClassWriter ernameRefactorWrit = new ClassWriter(0);
ClassNameRefactorAdapter nameRefactorAdapter = new ClassNameRefactorAdapter(ernameRefactorWrit);
nameRefactorReader.accept(nameRefactorAdapter, 0);
String proxyClassName = nameRefactorAdapter.getJVMProxyClassName().replace("/", ".");
byte[] modifiedBytes = ernameRefactorWrit.toByteArray();*/
String proxyClassName = productClass.getName();
byte[] modifiedBytes = loader.getModifiedClassBytes();
if(StringUtils.isNotBlank(getClassOutPutPath())){
ClassFileUtils.toLocal(modifiedBytes, getClassOutPutPath(), proxyClassName);
}
return loadClass(proxyClassName, modifiedBytes);
} catch (ClassNotFoundException e) {