2016-03-06 73 views
1

我正在開發一個主要應用程序,其功能可以通過包含插件的jar文件進行擴展。當我的應用程序運行時,它只是檢查插件的文件夾,並加載它在那裏找到的類,並將它們註冊到我的應用程序中。從主應用程序訪問插件罐中的資源文件

我想爲我的應用程序開發一個幫助/消息子系統,該應用程序使用外部資源文件(如果可能,請使用HTML文件)獲取與應用程序各個部分關聯的幫助內容並獲取詳細的信息/警告/錯誤消息顯示給用戶。

對於與主應用程序相關的所有內容,我可以很容易地確定資源文件的相對路徑,因爲我將這些資源文件保存在與我的應用程序類文件相同的jar文件中。

對於外部插件,理想情況下,與該插件相關的資源文件應該位於該插件的jar文件中。但是,我沒有找到一個一致的方式來確定這些文件在動態加載的jar中的路徑。

希望瞭解我如何能夠始終如一地爲內部資源和外部提供的資源使用主應用程序提供的相同幫助/消息框架。

回答

0

如果你正試圖從一個不同的插件加載該文件,或從主應用程序代碼,您會從春天需要的插件管理的一個實例:

InputStream in = pluginManager.getDynamicResourceAsStream(filename) 

編號:https://developer.atlassian.com/confdev/development-resources/confluence-developer-faq/what-is-the-best-way-to-load-a-class-or-resource-from-a-plugin

+0

我試圖讓這個工作,但它看起來像一個開發人員需要安裝Altassian SDK時,建設/運行。不幸的是,這並不符合我的情況 – anishthecoder

相關問題