我想在我的Java程序上添加更多支持,但不知道如何操作。谷歌没有帮我这个,所以我会在这里问。我希望我的Java程序在“mod”文件夹中查看类,然后与它们进行交互。例如,我有红色和绿色实体,并且某些代码与之关联。它们在地图上随机产卵。如果有人在mod文件夹中放入一个蓝色实体,我也希望它也能生成。
您只需要将“mod”文件夹放在类路径中,然后使用java reflect API查找类。
为了简化,所有类都需要有一些共同点。例如,实现接口或在特定包中定义。您可以使用此库:https://github.com/ronmamo/reflections
例如:
Reflections reflections = new Reflections("mod");
Set<Class<? extends ModInterface>> classes = reflections.getSubTypesOf(ModInterface.class);
假设:程序启动时出现的所有扩展文件
[Someclass].register(Extension e)
静态方法假设:在运行时动态加载扩展