Java:Eclipse插件创建问题
下面是我试图重用的插件代码,它来自于我已经掌握的旧代码。 插件无法正常运行。 我已经复制了代码的插件部分 请帮我解决这个问题 关于在Eclipse Helios中运行 更新了新的错误图像 但我使用的是JDK1.6 更新了新的错误图像 有一次,我能够在调试模式下在RAD中运行插件,但无法将其作为插件安装在RAD中。由于创建的插件jar在启动时未在Eclipse或RAD中检测到。 这里尝试实现的想法是,当用户尝试调用插件时,获得正确的结果。并将其作为参数传递给独立代码 Activator.java FindUnwantedJarAction.java Plugin.xmlJava:Eclipse插件创建问题,java,eclipse-plugin,Java,Eclipse Plugin,下面是我试图重用的插件代码,它来自于我已经掌握的旧代码。 插件无法正常运行。 我已经复制了代码的插件部分 请帮我解决这个问题 关于在Eclipse Helios中运行 更新了新的错误图像 但我使用的是JDK1.6 更新了新的错误图像 有一次,我能够在调试模式下在RAD中运行插件,但无法将其作为插件安装在RAD中。由于创建的插件jar在启动时未在Eclipse或RAD中检测到。 这里尝试实现的想法是,当用户尝试调用插件时,获得正确的结果。并将其作为参数传递给独立代码 Activator.java
您还应该给出MANIFEST.MF以进行完整诊断,但最有可能的原因是,您正在使用不同于您的开发Eclipse实例所使用的JDK运行RAD,并且它早于您的bundle目标环境,该环境在MANIFEST.MF中设置为JavaSE-1.6
这可能是您可以在调试模式下成功运行RAD,但不能作为独立应用程序运行的原因。请查看RAD实例的日志并查看java.version=value。应该是1.6。。。或更高版本。请指定遇到的问题。这不是调试站点oops!!!。添加了问题facedDid您试图添加jar作为插件依赖项,因为您显示的对话框似乎无法找到合适的类&dnt忘记添加activator类。最好的方法是创建一个由Eclipse提供的模板插件项目,然后添加代码。@Eshika我已更新了错误图像。我曾尝试使用插件模板,但仍在试图减少代码-通过删除不需要的插件引用,我无法做到这一点。因为我使用的模板通常有很多不需要的插件依赖项,所以Eclipse有它自己的Java路径。你确定它设置为使用正确的JDK吗?
public class Activator extends AbstractUIPlugin {
// The plug-in ID
public static final String PLUGIN_ID = "PluginName";
// The shared instance
private static Activator plugin;
public Activator() {
plugin = this;
}
public void start(BundleContext context) throws Exception {
System.out.println("Loading the PluginName");
super.start(context);
}
public void stop(BundleContext context) throws Exception {
plugin = null;
System.out.println("Exiting the PluginName");
super.stop(context);
}
public static Activator getDefault() {
return plugin;
}
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
}
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
public class FindUnwantedJarAction implements IObjectActionDelegate {
private IStructuredSelection selection;
public void setActivePart(IAction arg0, IWorkbenchPart arg1) {
// TODO Auto-generated method stub
}
public void run(IAction arg0) {
IProject project = (IProject) selection.getFirstElement();
String projName = project.getName();
String projectLocation = project.getLocation().toString();
//call another class with this parameter
}
public void selectionChanged(IAction arg0, ISelection paramSelection) {
this.selection = (IStructuredSelection) paramSelection;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
objectClass="org.eclipse.core.resources.IProject"
adaptable="true"
id="core.UnwantedJar">
<menu
label="Find Unwanted Jars"
path="additions"
id="FindUnJar.menu1">
<separator
name="group1">
</separator>
</menu>
<action
label="Find!!!"
class="core.marksman.action.FindUnwantedJarAction"
menubarPath="FindUnJar.menu1/group1"
enablesFor="1"
id="CVSLocal.newAction">
</action>
</objectContribution>
</extension>
</plugin>