java.net.URLClassLoader.findClass()方法的使用及代码示例

x33g5p2x  于2022-01-31 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(290)

本文整理了Java中java.net.URLClassLoader.findClass()方法的一些代码示例,展示了URLClassLoader.findClass()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。URLClassLoader.findClass()方法的具体详情如下:
包路径:java.net.URLClassLoader
类名称:URLClassLoader
方法名:findClass

URLClassLoader.findClass介绍

[英]Tries to locate and load the specified class using the known URLs. If the class could be found, a class object representing the loaded class will be returned.
[中]尝试使用已知URL定位并加载指定的类。如果可以找到该类,将返回一个表示加载的类的类对象。

代码示例

代码示例来源:origin: org.codehaus.groovy/groovy

private Class oldFindClass(String name) throws ClassNotFoundException {
  return super.findClass(name);
}

代码示例来源:origin: Alluxio/alluxio

@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
 try {
  return super.findClass(name);
 } catch (ClassNotFoundException e) {
  return mDefaultClassloader.findClass(name);
 }
}

代码示例来源:origin: bytedeco/javacpp

@Override protected Class<?> findClass(String name)
      throws ClassNotFoundException {
    if (paths.isEmpty()) {
      addPaths(System.getProperty("user.dir"));
    }
    return super.findClass(name);
  }
}

代码示例来源:origin: spring-projects/spring-loaded

@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
  //		System.out.println(this+" being asked to find class "+name);
  return super.findClass(name);
}

代码示例来源:origin: stackoverflow.com

$ sbt clean run
[info] Set current project to default-cd5534 (in build file:/tmp/so/)
[success] Total time: 0 s, completed 27.10.2013 14:31:43
[info] Updating {file:/tmp/so/}default-cd5534...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /tmp/so/target/scala-2.10/classes...
[info] Running Main 
[error] (run-main) java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
[trace] Stack trace suppressed: run last compile:run for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) Nonzero exit code: 1
[error] Total time: 4 s, completed 27.10.2013 14:31:47

代码示例来源:origin: apache/drill

@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
 return super.findClass(name);
}

代码示例来源:origin: google/guava

@Override
 public Class<?> loadClass(String name) throws ClassNotFoundException {
  if (name.startsWith(concurrentPackage)
    // Use other classloader for ListenableFuture, so that the objects can interact
    && !ListenableFuture.class.getName().equals(name)) {
   synchronized (loadedClasses) {
    Class<?> toReturn = loadedClasses.get(name);
    if (toReturn == null) {
     toReturn = super.findClass(name);
     loadedClasses.put(name, toReturn);
    }
    return toReturn;
   }
  }
  return super.loadClass(name);
 }
};

代码示例来源:origin: org.eclipse.jetty/jetty-webapp

@Override
protected Class<?> findClass(final String name) throws ClassNotFoundException
{
  if (_transformers.isEmpty())
  { 
    return super.findClass(name);
  }
  String path = name.replace('.', '/').concat(".class");
  URL url = findResource(path);
  if (url==null)
    throw new ClassNotFoundException(name);
  return foundClass(name,url);
}

代码示例来源:origin: google/guava

@Override
 public Class<?> loadClass(String name) throws ClassNotFoundException {
  if (disallowedClassNames.contains(name)) {
   throw new ClassNotFoundException("I'm sorry Dave, I'm afraid I can't do that.");
  }
  if (name.startsWith(concurrentPackage)) {
   Class<?> c = findLoadedClass(name);
   if (c == null) {
    return super.findClass(name);
   }
   return c;
  }
  return super.loadClass(name);
 }
};

代码示例来源:origin: embulk/embulk

if (this.oneNestedJarUrlBase == null || this.embeddedJarPathsInNestedJar.isEmpty()) {
  return super.findClass(className);
} else {
    return super.findClass(className);
  } catch (ClassNotFoundException directClassNotFoundException) {
    try {

代码示例来源:origin: google/guava

@Override
 public Class<?> loadClass(String name) throws ClassNotFoundException {
  if (blocklist.contains(name)) {
   throw new ClassNotFoundException("I'm sorry Dave, I'm afraid I can't do that.");
  }
  if (name.startsWith(concurrentPackage)) {
   Class<?> c = findLoadedClass(name);
   if (c == null) {
    return super.findClass(name);
   }
   return c;
  }
  return super.loadClass(name);
 }
};

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Override protected Class<?> findClass(String name) throws ClassNotFoundException {
  for (String s : excludeClassNames)
    if (s.equals(name))
      throw new ClassNotFoundException(name);
  return super.findClass(name);
}

代码示例来源:origin: Bukkit/Bukkit

Class<?> findClass(String name, boolean checkGlobal) throws ClassNotFoundException {
  if (name.startsWith("org.bukkit.") || name.startsWith("net.minecraft.")) {
    throw new ClassNotFoundException(name);
  }
  Class<?> result = classes.get(name);
  if (result == null) {
    if (checkGlobal) {
      result = loader.getClassByName(name);
    }
    if (result == null) {
      result = super.findClass(name);
      if (result != null) {
        loader.setClass(name, result);
      }
    }
    classes.put(name, result);
  }
  return result;
}

代码示例来源:origin: azkaban/azkaban

@Override
 public Class<?> findClass(final String name) throws ClassNotFoundException {
  try {
   final Class<?> loaded = super.findLoadedClass(name);
   if (loaded != null) {
    return loaded;
   }
   // first try to use the URLClassLoader findClass
   return super.findClass(name);
  } catch (final ClassNotFoundException e) {
   // if that fails, we ask our real parent classloader to load the class (we give up)
   return this.realParent.loadClass(name);
  }
 }
}

代码示例来源:origin: org.eclipse.jetty/jetty-webapp

protected Class<?> foundClass(final String name, URL url) throws ClassNotFoundException
    return super.findClass(name);

代码示例来源:origin: CalebFenton/simplify

klazz =  super.findClass(name);
cachedClasses.put(name, klazz);
return klazz;

代码示例来源:origin: org.apache.kafka/kafka_2.9.2

@Override
 public Class<?> findClass(String name) throws ClassNotFoundException {
  try{
   // first try to use the URLClassLoader findClass
   return super.findClass(name);
  }
  catch( ClassNotFoundException e ) {
   // if that fails, we ask our real parent class loader to load the class (we give up)
   return realParent.loadClass(name);
  }
 }
}

代码示例来源:origin: mulesoft/mule

public Class<?> findLocalClass(String name) throws ClassNotFoundException {
 synchronized (getClassLoadingLock(name)) {
  Class<?> result = findLoadedClass(name);
  if (result != null) {
   return result;
  }
  return super.findClass(name);
 }
}

代码示例来源:origin: eclipsesource/J2V8

@Override
  public Class<?> loadClass(final String name) throws ClassNotFoundException {
    if (name.startsWith("com.eclipsesource.v8")) {
      return super.findClass(name);
    }
    return super.loadClass(name);
  }
}

代码示例来源:origin: org.springframework.boot/spring-boot-devtools

@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
  String path = name.replace('.', '/').concat(".class");
  final ClassLoaderFile file = this.updatedFiles.getFile(path);
  if (file == null) {
    return super.findClass(name);
  }
  if (file.getKind() == Kind.DELETED) {
    throw new ClassNotFoundException(name);
  }
  return AccessController.doPrivileged((PrivilegedAction<Class<?>>) () -> {
    byte[] bytes = file.getContents();
    return defineClass(name, bytes, 0, bytes.length);
  });
}

相关文章