eclipse插件開發非常新。 我已經將jar項目轉換爲eclipse插件。但我真的不知道,如何使用它。一些基本的疑問,關於eclipse插件開發的疑惑
- 如何在我們的程序中調用插件中可用的方法?
- 是否應該公開所有暴露的方法,以便在我們的程序中使用它?
我的想法就像插件來總結兩個數字。然後用戶安裝插件並在此插件中調用add(x,y)方法。就像從包含的jar中調用方法一樣。
有很多教程解釋如何創建一個插件,但我沒有找到如何使用相同的。
eclipse插件開發非常新。 我已經將jar項目轉換爲eclipse插件。但我真的不知道,如何使用它。一些基本的疑問,關於eclipse插件開發的疑惑
我的想法就像插件來總結兩個數字。然後用戶安裝插件並在此插件中調用add(x,y)方法。就像從包含的jar中調用方法一樣。
有很多教程解釋如何創建一個插件,但我沒有找到如何使用相同的。
我覺得這是你所描述你有你想要的Eclipse的Java(JDT)用戶安裝插件的情況......
。在他們的Java項目中,你希望他們能夠使用插件中的一些Java類。
在Java中,類加載器必須在類路徑中找到類。 JDT通過「類路徑容器」管理項目的類路徑。第一個例子是當您創建一個Java項目時,JDT將添加「JRE System Library」作爲容器。您可以在Package Explorer中的項目下看到它。
另一個例子是JUnit插件。您會注意到,當您第一次向JDT項目添加JUnit測試用例時,對話框會詢問是否將JUnit庫添加到構建路徑。 (這是JUnit插件新建文件嚮導的顯式行爲。)如果您同意,您將在Package Explorer中看到「JUnit 4」容器。
又一例子:PDE擴展了JDT的功能。在創建插件項目時,PDE會根據您在插件清單中聲明的插件依賴關係添加它管理的「插件依賴項」容器。
用戶可以爲自己喜歡的庫創建和引用自己的類路徑容器。
但是,當然,作爲一個庫提供者,你想給他們一個像JUnit插件一樣。要做到這一點,在你的插件:
如果你想有一個嚮導頁來創建或編輯類路徑容器條目:
org.eclipse.jdt.ui.classpathContainerPage
一些插件使用嚮導頁面來定製容器(JUnit允許選擇JUnit 3或4);其他人只是使用該頁面來提供有關容器的信息。
請參閱JDT文檔主題Setting the Java build path並交叉引用您熟悉的任何示例的源代碼。
這裏是一個很好的文章:Simplify Eclipse classpaths using classpath containers
回答您的問題:
ClasspathContainerInitializer
子類的initialize
方法的類路徑。你所描述的是一個普通的OSGi包,沒有Eclipse特有的功能。就新插件嚮導而言,您的「不參與UI」。從技術上講,這意味着它不需要plugin.xml
。
你的外部代碼感知bundle的方式就像是一個普通的jar:你可以訪問它的類,實例化它們並調用它們的方法。或者你可以調用靜態方法,就像你習慣的那樣。
OSGi提供的附加層意味着您可以識別您的捆綁包向其用戶導出哪些Java包。因此,一個公開但不駐留在導出包中的類別不能被其他包訪問(但這僅適用於嚴格模式,否則您只會得到訪問限制警告)。