【问题标题】:Java creating an addon/mod loader for an applicationJava 为应用程序创建插件/mod 加载器
【发布时间】:2017-02-01 10:48:41
【问题描述】:

我有一个用 Java 编写的游戏,并且想编写一个通用的 ModLoader/AddonLoader 应用程序。一个单独的应用程序/api,允许您为我的项目创建模块/插件,添加我不希望在主应用程序中的额外实现。

但是我不知道该怎么做,我做了一些研究,我不太确定如何使 mod/addon 与加载器交互,加载器与主应用程序交互以添加新功能/修改旧

非常感谢 艾略特

【问题讨论】:

  • 对于 SO 来说太宽泛了。提供一些代码和您遇到的问题的特定方面。
  • 亲爱的 Elliot,到目前为止,您尝试过哪些代码?见good questions on SO
  • 我的应用程序,我更多的是寻找一些有关如何启动它的指导。在再次询问之前,我会尝试做更多的研究并编写一些代码。

标签: java classloader add-on


【解决方案1】:

由于您正在寻找一些基本指导,我将建议以下内容:

您需要一种在核心应用程序运行后引入类的方法。这意味着您将需要类路径中的这些类。最简单的方法可能是让您的类路径包含一个像“addons”这样的文件夹,以便该文件夹中的所有 jar 自动位于应用程序的类路径中。

一旦您设置了类路径,您将需要以某种方式使用适当的类。这部分很难笼统地说,因为它在很大程度上取决于你打算如何让你的插件工作。一些工具使用注释来帮助解决这个问题,您可能可以查看一些开源项目作为示例。想到的一个是 Maven,它在其插件系统中使用注释。一般概念是您需要确定您拥有多少种不同类型的插件以及如何识别和使用它们。

通常使用插件涉及实例化该插件,这就是它可能很棘手的原因。一些插件系统要求编写插件以便它们使用特定的包名称。他们这样做是为了可以利用反射来查找给定包中的所有类,然后处理它们。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多