Java 如何使用系统类加载器(无 URLClassLoader)从类路径中的 jar 中加载类?

标签 java system classloader urlclassloader

因此,我需要在运行时使用系统类加载器从类路径中的 jar 中加载一些类,但每次尝试时,我都会收到 ClassNotFoundException。使用系统类加载器,我是否能够执行以下操作:x.y.classineed(x 和 y 是包),或者我是否必须执行类似以下操作:pathtox.x.y.classineed(假设甚至可以执行此操作)?

最佳答案

JAR 不得位于您的 CLASSPATH 中。

这工作正常:我的 CLASSPATH 中有 JDOM JAR。

package cruft;

/**
 * ClassLoaderDemo
 * @author Michael
 * @since 2/9/12 7:09 PM
 * @link http://stackoverflow.com/questions/9220887/java-how-to-load-classes-out-of-a-jar-in-the-classpath-with-the-system-classload
 */
public class ClassLoaderDemo {
    public static void main(String[] args) {
        try {
            ClassLoader classLoader = ClassLoaderDemo.class.getClassLoader();
            if (classLoader != null) {
                Class clazz = classLoader.loadClass("org.jdom.Document");
                System.out.println(clazz.getName());
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

关于Java 如何使用系统类加载器(无 URLClassLoader)从类路径中的 jar 中加载类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220887/

相关文章:

mysql - ASP.NET Core - 好友系统

java - 对象数组的深拷贝

java - 为什么文件 ("c:"的 isDirectory 为 true )?

testing - 如何为推荐系统获取或生成测试数据

java - Nashorn JavaScript Invocable.getInterface 在 Web 应用程序中跨类加载器失败

java - 仅更改方法结果和类加载器 NoSuchMethod

java - 服务器停止时从类路径读取文件

java - 如何将 Java 应用程序捆绑到 Gnome/Ubuntu 中的关联 .desktop 文件?

java - Java中递归生成树

mysql - 记录和统计用户登录的系统