我目前正在开发一个服务器软件的API,以便用户可以通过编程插件来扩展我的软件,而不是自己修改软件,并允许其他没有编程知识的用户轻易更改该软件通过添加这些插件。到目前为止,一切工作正常。但是,我遇到了配置问题。如何获取jar类来自
你看,每个插件有存储与这4个属性的plugin.yml文件: 主:主类是这里 名称存储:这是插件名称存储 版本:这是插件版本被存储在 作者:这是插件作者存储的地方
现在,为了让插件打印一些东西给控制台,他们使用一个名为this.getServer()。getLogger()。info(“ MESSAGE);(他们扩展插件的另一个类,这就是为什么他们使用“this”而不是另一个类来记录)
但是,我做n对于如何获得哪个插件是在调用函数时有任何想法。我有一个PluginSession的ArrayList,事件处理程序用它循环来运行事件函数。
我的解决方案是从中调用一个类的jar,所以我可以从那里获取plugin.yml。但是,我不知道如何得到这个,我尝试过使用Class.forName();和其他一些代码。但是因为这个类在运行代码的jar/project中是不存在的,所以它会抛出一个ClassNotFoundException异常。
有没有人在这里知道如何从不使用Class.forName()的类从哪个jar中获取?谢谢!对于-Trent
非常感谢!现在我终于可以在我的插件会话类之外获得插件信息! :d – Whirvis 2015-02-08 18:59:36