创建新的类加载器以重新加载类

2022-09-03 14:31:23

我想在每次调用我的方法时创建一个新的方法。ClassLoader

所以我可以在不退出程序的情况下重新加载。class

一种如何更新加载的方式也是一个解决方案。classClassLoader

我怎样才能做到这一点?


答案 1

我在这里找到了一个很好的解释答案:

http://www.exampledepot.com/egs/java.lang/reloadclass.html

在我的例子中,重要的是有两个二进制文件夹:一个用于测试用例,一个用于程序源代码。

报价:

URL[] urls = null;
try {
    // Convert the file object to a URL
    File dir = new File(System.getProperty("user.dir")
        +File.separator+"dir"+File.separator);
    URL url = dir.toURL();        // file:/c:/almanac1.4/examples/
    urls = new URL[]{url};
} catch (MalformedURLException e) {
}

try {
    // Create a new class loader with the directory
    ClassLoader cl = new URLClassLoader(urls);

    // Load in the class
    Class cls = cl.loadClass("MyReloadableClassImpl");

答案 2

看到了这个吗?类装入器装入/重装示例

我认为这个博客可以满足您的要求。


推荐