示例#1
0
  @Override
  public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
    String clsName = name.replaceAll("\\.", "/");

    ClassNode node = (ClassNode) archive.get(clsName);

    if (node != null) {
      modify(node);
      byte[] clsData = archive.getEntry(clsName);
      if (clsData != null) {
        Class<?> cls = defineClass(name, clsData, 0, clsData.length, domain);
        if (resolve) resolveClass(cls);
        return cls;
      }
    }
    return super.findSystemClass(name);
  }