gpt4 book ai didi

java - 在 Jar 文件中加载类

转载 作者:行者123 更新时间:2023-12-02 05:30:04 25 4
gpt4 key购买 nike

我正在尝试为我的java应用程序创建一个模块系统,它将在目录中加载模块(只是jar文件)。每个模块中都会有一个 config.yml 来链接到主类 IE 如果主类位于 com.example.core 中并且主类名为“Main”,则其中将包含 com.example.core.Main 。我已经可以加载 yml 文件,并且可以获取此属性,但我无法弄清楚如何从 jar 文件加载类。主类将扩展模块加载应用程序中的一个类,名为“Module”,因此我需要保留该实例并将其放入 Map 中,但所有实例都将扩展 Module。这与 Bukkit 的做法类似 ( http://bukkit.org )。

感谢您的帮助,
巴特

最佳答案

您的意思是需要从目录动态加载jar文件吗?

URLClassLoader 可能适合您的需求。

这是我的例子。

URL[] urls = ....
URLClassLoader loader = new URLClassLoader(urls);
Class<?> cls = loader.loadClass("com.example.core.Main");
Module module = (Module) cls.newInstance();

希望这对您有用。

关于java - 在 Jar 文件中加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363592/

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