2012-08-15 53 views
1

我目前有一個帶有視圖的eclipse插件。在src文件夾中,有一個圖標文件夾,其中包含我想在我的插件中使用的一些圖像。在我的程序中,我使用的行數如下:Eclipse插件問題:圖標/圖像在本地顯示正常,但不能從jar /更新站點顯示。

public static final Image anImage = new Image(null, "sample_image.gif"); 

然後繼續在某處使用該圖像。當我在本地運行程序時這項工作,但是當我將插件導出到jar中,然後將其安裝到新的Eclipse中時,插件就會中斷。當我拿出代碼中的圖片使用情況時,插件無法正常工作。我想知道正確的方法是爲了讓我的圖像在導出的jar文件中可用於插件安裝。

我有一個以前的問題,所以問題類似於這個,有人建議使用Classloader.getResource()。我沒有太多的運氣試圖讓它起作用,並且似乎沒有必要,因爲默認情況下,如果您使用PDT生成的Eclipse視圖插件演示模板,它帶有一個圖標文件夾,該文件夾使用「 sample.gif「,據我所知,工作正常。

感謝您的任何建議。

回答

9

通常你應該使用圖標文件夾的方法。確保文件夾導出在build.properties文件中(在bin.includes部分下)。如果使用MANIFEST.MF編輯器並在「構建」選項卡的「二進制構建」部分中勾選圖標文件夾。 對src文件夾的處理方式不同 - 它假定有編譯代碼並且包含編譯後的輸出,而不是原始文件夾。 由於使用工作空間目錄而不是編譯的插件,所以在工作空間中使用插件從eclipse運行時,它「起作用」。 您可以使用imageDescriptorFromPlugin從AbstractUIPlugin加載圖像。 例如使用;

Image img = AbstractUIPlugin.imageDescriptorFromPlugin("you.bundle.id", "/icons/sample_image.gif").createImage(); 
+0

這真的很整齊。 – DrKaoliN 2015-06-03 12:39:58