我目前正在開發一個服務器軟件的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