【问题标题】:Load Class within Jar file在 Jar 文件中加载类
【发布时间】:2023-03-12 11:13:01
【问题描述】:

我正在尝试为我的 java 应用程序创建一个模块系统,它将在目录中加载模块(只是 jar 文件)。如果主类在 com.example.core 中并且主类被命名为“Main”,则每个模块中都会有一个 config.yml 以链接到主类 IE,那么它就会有 com.example.core.Main .我有它来加载 yml 文件,我可以得到这个属性,但我不知道如何从 jar 文件中加载类。主类将扩展模块加载器应用程序中的一个类,名为“Module”,因此我需要保留该实例并将其放在 Map 中,但所有实例都将扩展 Module。这类似于 Bukkit 所做的 (http://bukkit.org)。

感谢您的帮助,
巴特

【问题讨论】:

    标签: java class jar load


    【解决方案1】:

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

    URLClassLoader 可能满足您的需求。

    这是我的例子。

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

    希望对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 2014-12-29
      • 2012-09-11
      • 1970-01-01
      • 2018-11-01
      • 2016-05-27
      • 1970-01-01
      相关资源
      最近更新 更多