code: private void addClassByPackage(ClassLoader classLoader, String packageName) {
          // 根据包名和Classloader实例，得到该包的URL Enumeration.
          String packageDirName = packageName.replace('.', '/');
          Enumeration<URL> urlEnum = this.getUrlsByPackge(classLoader, packageDirName);
          if (urlEnum == null) {
              return;
          }
  
          while (urlEnum.hasMoreElements()) {
              URL url = urlEnum.nextElement();
              String protocol = url.getProtocol();
              if ("file".equals(protocol)) {
                  try {
                      this.addClassesByFile(classLoader, packageName, URLDecoder.decode(url.getFile(), "UTF-8"));
                  } catch (UnsupportedEncodingException expected) {
                      // 此处不打印异常堆栈.
                      log.warn("该包结构无法转换成UTF-8的编码格式.");
                  }
              } else if ("jar".equals(protocol)) {
                  this.addClassByJar(classLoader, url, packageName, packageDirName);
              }
          }
      }
docs: 根据包名和Classloader实例，将该包下的所有Class存放到classSet集合中.
  
  @param classLoader ClassLoader实例
  @param packageName 包名