2011-06-09 236 views
2

我正在開發一個Eclipse插件。 我有Activator類和我自己的類。 我需要一個Hashtable,它必須在IDE加載時啓動,並且在IDE關閉之前必須保持並可訪問(通過多個類使用)。Eclipse生命週期

+1

你能更詳細地瞭解這個Hashtable的生命週期嗎?最簡單的事情就是在您第一次需要時創建它,但這似乎不是您需要的。 – 2011-06-09 23:05:21

+0

我同意上面的丹尼爾。從Eclipse啓動到關閉的時刻,您不太可能需要散列表。更有可能的是,你需要一個或多個插件,從它們全部啓動直到它們全部停止。有幾種機制可以用來更早地啓動您的插件。哪一個最合適取決於你想要做什麼。 – 2011-06-10 16:38:25

+0

我的插件從互聯網上下載文件並將其存儲在用戶指示的地方(路徑和文件名)。每次已經下載的文件都被重新載入,插件必須建議用於存儲相同文件的最後路徑和文件名。已經爲我解決了一個可接受的解決方案。謝謝你們! – 2011-06-13 13:52:22

回答

3

您可以使用擴展點org.eclipse.ui.startup通過應用程序自動啓動插件。

+1

請注意:您可以利用核心或lib插件中的優勢,但不要在您的UI插件中包含此功能。它可能會對啓動性能和內存造成嚴重影響。 – 2011-06-14 15:33:06

2

創建一個單獨的插件來保持哈希表,並將其延伸org.eclipse.ui.startup,

一個簡單的例子:

plugin.xml中:

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse version="3.4"?> 
<plugin> 
    <extension 
     point="org.eclipse.ui.startup"> 
     <startup 
      class="org.markus.startup.EarlyGreeter"> 
     </startup> 
    </extension> 
</plugin> 

EarlyGreeter。 java:

package org.markus.startup; 

import org.eclipse.ui.IStartup; 

public class EarlyGreeter implements IStartup { 
    @Override 
    public void earlyStartup() { 
     System.out.println("This is EarlyGreeter saying Hello during workbench startup."); 
    } 
}