在运行时更改系统 class 加载程序
Change the system class loader at runtime
主要class
public class Main {
public static void main(String[] args) {
// Class load
A a = new A();
a.msg();
}
}
一个class
public class A {
public void msg() {
System.out.println("msg");
}
}
我已经在调用 class A
的 msg() 方法的主 class 中编写了代码
创建jar文件后,我拉出A.class。
然后该路径将有一个缺少 A.class 和 A.class.
的 jar 文件
A a = new A();
a.msg();
如何在不对上述代码进行任何更改的情况下动态加载和 运行 A.class?
请帮帮我..
A.class 必须位于 class 路径中的某处,代码才能到达 运行。您可以将它放在自己的罐子中,然后将第二个罐子添加到 class 路径。然后 class 加载程序可以找到它。
您似乎想动态加载 class。我建议您创建一个 jar 并使用 URIClassLoader
加载它。这里有一个非常好的答案:- How should I load Jars dynamically at runtime?
主要class
public class Main {
public static void main(String[] args) {
// Class load
A a = new A();
a.msg();
}
}
一个class
public class A {
public void msg() {
System.out.println("msg");
}
}
我已经在调用 class A
的 msg() 方法的主 class 中编写了代码创建jar文件后,我拉出A.class。
然后该路径将有一个缺少 A.class 和 A.class.
的 jar 文件A a = new A();
a.msg();
如何在不对上述代码进行任何更改的情况下动态加载和 运行 A.class?
请帮帮我..
A.class 必须位于 class 路径中的某处,代码才能到达 运行。您可以将它放在自己的罐子中,然后将第二个罐子添加到 class 路径。然后 class 加载程序可以找到它。
您似乎想动态加载 class。我建议您创建一个 jar 并使用 URIClassLoader
加载它。这里有一个非常好的答案:- How should I load Jars dynamically at runtime?