1

我試圖構建一個註釋處理器作爲eclipse插件。 這是我第一次爲日食編寫一個插件,所以我不確定我是否使用了正確的術語,如果我不太清楚,我很抱歉。Eclipse插件開發,公開Java項目中的插件類

我的目標是擁有一個插件,它可以從帶註釋的Java類生成代碼,我希望插件包含所有註釋,所以除了安裝插件之外,用戶的項目不需要額外的依賴關係,即用戶安裝插件編寫一些類,使用一些註釋對它們進行註釋(打包在插件中)並獲取生成的代碼。

是否有可能做我想做的事情?我見過一些其他插件(例如Xtent),它們添加了自己的庫。

10x

回答

1

這是可能的。您需要實現一個自定義的IClasspathContainer,它可以動態解析您的插件jar,並在構建類路徑容器時將註釋類添加到項目構建路徑中。在構建路徑UI中,IClasspathContainer的名稱爲「庫」。像JRE,用戶庫等東西都是通過IClasspathContainer API實現的。

要查看示例,請獲取org.eclipse.jdt.core和org.eclipse.jdt.ui插件的源代碼。

+0

感謝您的快速響應,我現在試圖弄清楚的是 1.如何將庫打包到我的插件中 2.如何從插件中引用此庫如果我想使用這樣的代碼,我應該使用什麼路徑 'JavaCore.newLibraryEntry(new Path(「???」)...' – Gilad 2012-07-10 04:38:37

+0

有多種方式來分發您的註釋類jar。最好是轉將jar放入一個獨立的OSGi包中,而不是放在你的工具插件中,然後從你的特性中引用這兩個bundle。要在運行時找到你的bundle的路徑,你可以使用FileLocator.getBundleFile(Bundle) 。要獲取Bundle對象,請使用Platform.getBundle(id)。 – 2012-07-10 14:39:39