使用java开发应用程序_使用Java中的插件支持开发应用程序
我一直在研究如何開發(fā)可以加載插件的應用程序.
到目前為止,我已經(jīng)看到這可以通過定義一個接口來實現(xiàn),并讓插件實現(xiàn)它.
但是,我當前的問題是如何在Jars中打包時加載插件.有沒有“最好的”方法呢?
我正在考慮的當前邏輯是讓每個插件和他們的Jar內部尋找實現(xiàn)接口的類.但我不知道如何進行這樣的查找.我認為這個邏輯可能不是很好,但我找不到關于這個特定主題的任何有用信息.
**編輯1:**
添加更多信息:
預期的插件將是包含在主應用程序的Jar所在的子目錄中的Jar文件,如下所示:
應用程序的文件夾
| – Main_Application.jar
| – 插件
| – Plugin1.jar
| – Plugin2.jar
| – Steve’s_plugin.jar
等等.
我期望Application能夠在運行時加載文件夾中的所有插件.所以在代碼中,它只會意識到插件的文件夾應該存在,并且應該在這樣的文件夾中有Jars.
假設我有一個這樣的插件界面:
interface Plugin
{
public void run();
}
插件將由實現(xiàn)此類接口的類標識,如此
class Plugin1 implements Plugin
{
//attributes and other methods
@override
public void run()
{
//something happens here
}
}
class Plugin2 implements Plugin
{
//attributes and other methods
@override
public void run()
{
//something happens here
}
}
應用程序應該只編譯一次,并且能夠在執(zhí)行時加載添加到文件夾的任何插件.
為了使Application能夠加載任何插件,我是否需要建立Jar內容的規(guī)則,如包名稱和實現(xiàn)接口的類?或者預計實現(xiàn)插件接口的類可以在Jar中的任何包中,并且有任何名稱?
對于我想用這些插件做的事情,這是更通用的方法.簡而言之,我打算構建一個具有選項卡的應用程序,每個插件將提供每個選項卡的界面和功能.我正在嘗試這個,因為我希望能夠單獨維護每個選項卡,并且不希望重新編譯整個應用程序,因為只有一個組件的更改根本不會影響其他組件.
總結
以上是生活随笔為你收集整理的使用java开发应用程序_使用Java中的插件支持开发应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ahqtb.exe是啥进程 ahqtb进
- 下一篇: java美元兑换,(Java实现) 美元