gpt4 book ai didi

java - 导出后从任何位置加载任何库

转载 作者:行者123 更新时间:2023-12-01 10:01:38 24 4
gpt4 key购买 nike

创建 jar 后是否可以加载其他库?我想在文件夹中搜索 jar 文件,并将它们作为库加载。 “他们”将延长我已经上过的类(class),以便我可以向他们讲话。库的文件夹与加载所有其他文件的 jar 文件所在的文件夹不同。如果没有其他方法,除了更改 jar 本身内的设置文件(要加载的库链接到的位置)之外,这虽然不是很好,但也很有帮助;)

谢谢

西蒙

最佳答案

是的。您只需要使用 URLClassLoader 即可。

URLClassLoader loader = new URLClassLoader(new URL[]{new URL("jar:file:/home/myapp/plugins/dateplugin.jar!/")}, ClassLoader.getSystemClassLoader());
MyInterface pluginClass = (MyInterface )loader.loadClass("com.mypackage.MyClass").newinstance();

URLClassLoader Java Doc

您希望通过将系统类加载器传递给构造函数来确保将类加载器与主类加载器连接起来。这将允许您将新加载的库分配给现有接口(interface)。这就是您为您的游戏或应用程序制作插件系统的方法。

这里是显示此操作的源代码链接:Git Hub Repository for Sticky 。看一下 Sticky.gui.Main 类。它显示插件系统在开始运行后加载新库。

关于java - 导出后从任何位置加载任何库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36778452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com