我为Eclipse创建了一个插件并将其导出为JAR文件。我把它放在Eclipse RCP发行版的plugins目录中。然后我按预期打开Eclipse和插件函数。我转到我的另一台计算机并将JAR放在Eclipse RCP发行版的plugins目录中,然后打开Eclipse。
我在错误日志中收到以下消息:
其中一些消息让我感到困惑,因为这就是我的Activator类的样子:
public class Activator extends AbstractUIPlugin implements IStartup {...
例如,它明确地实现了IStartup。
有没有人对这里发生的事情有任何想法,或者至少我应该采取什么方向来解决这个问题?
修改
我现在创建了一个名为StartupClass.java的新类:
package myplugin;
import org.eclipse.ui.IStartup;
public class StartupClass implements IStartup {
@Override
public void earlyStartup()
{
}
}
然后我将plugin.xml更改为:
<extension point="org.eclipse.ui.startup">
<startup class="myplugin.StartupClass" />
</extension>
导致类似的错误,例如:
答案 0 :(得分:1)
您是否在一个工作区中拥有org.eclipse.runtime.compatibilty
插件而在另一个工作区中没有?
您不赞成这样做的方式,您应该有一个单独的“启动”类,并将其指定为class
元素的<startup>
属性。
来自Eclipse docs on the startup extension point:
不要将插件类指定为 class属性的值,或 它将被实例化两次(一次 定期插件激活,一次 通过这种机制)。 如果扩展名没有提供 class作为启动时的属性 元素,插件的激活器 (插件类)必须实现 org.eclipse.ui.IStartup。
请注意 此表单已弃用,不应该 更长时间使用。它的功能依赖 关于可用性 org.eclipse.core.runtime.compatibility 插件和 org.eclipse.core.runtime.compatibility.registry 片段。