2011-06-09 179 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."); 
    } 
}