我在 Eclipse 中有一个插件,非常完美。现在我必须实现无头插件功能。
我在 plugin.xml 中添加了以下代码
<extension
id="id1"
point="org.eclipse.core.runtime.applications">
<application>
<run
class="de.**.HeadlessPlugin">
</run>
</application>
然后我创建了以下类“HeadlessPlugin”
package de.tsystems.together.mqc.impl;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IExecutableExtensionFactory;
import org.eclipse.core.runtime.IPlatformRunnable;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
public class HeadlessPlugin implements IExecutableExtensionFactory {
public HeadlessPlugin()
{
}
public Object create() throws CoreException {
System.out.println("Hello world");
return null;
}
}
我正确导出了插件并将其安装在一个新的 eclipse 实例中。然后我尝试通过 cmd 启动插件:
java -jar "plugins/org.ecplise.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" org.eclipse.core.launcher.Main -application de.***.id1
发生此日食后出现错误:
org.eclipse.core.runtime.CoreException:插件de。* 无法加载类 de.* .HeadlessPlugin。
有人有想法吗??
堆栈跟踪:
!ENTRY org.eclipse.osgi 4 0 2013-08-19 14:15:47.344
!MESSAGE Application error
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in de.** was unable to load class de.**.HeadlessPlugin.
...
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle de.** (1522).
...
Caused by: org.osgi.framework.BundleException: The activator de.**.Plugin for bundle de.** is invalid
...
Caused by: java.lang.NoClassDefFoundError: org/eclipse/ui/plugin/AbstractUIPlugin