有没有办法在运行时访问和修改Eclipse插件的源代码?

时间:2018-06-10 14:30:11

标签: java eclipse eclipse-plugin eclipse-rcp

我正在开发一个具有UI的Eclipse插件。我需要的是能够在运行时访问插件的代码(从插件加载一些类名以在UI中构建下拉列表),并且还能够在插件中生成一个类' s源代码,在运行时以相同的方式。

有没有办法做到这一点?

为了访问代码,我尝试了以下内容:

    IWorkspace thisWorkspace = ResourcesPlugin.getWorkspace();
    IWorkspaceRoot thisWorkspacesRoot = thisWorkspace.getRoot();
    IProject thisProject = thisWorkspacesRoot.getProject("MyPluginsNameHere");
    IJavaProject thisJavaProject = JavaCore.create(thisProject);

然后我解析这个IJavaProject并获取类。

问题是变量 thisWorkspace 是用运行时eclipse应用程序的工作区加载的,而不是插件的工作区。

此处讨论了此问题:https://www.eclipse.org/forums/index.php/t/105604/

给定的解决方案是:

  

我找到了工作区位置的技巧。这是我的代码:   org.eclipse.core.resources.ResourcesPlugin.getWorkspace()。ge tRoot()。getLocation()

     

当我通过" Launc an Eclipse Application"来运行它来进行测试时或者"运行   Eclipse Application"按钮,它返回此位置:   工作区:C:/ Documents and Settings / rbt / My   文档/运行时间EclipseApplication

     

但是,当我将其导出为"可部署的插件" (文件 - >导出 - >部署   插件和片段),重新启动Eclipse并以可部署的方式执行它   插入。这次,它返回此位置:   C:/ Documents and Settings / rbt / My Documents / workspace

这不能应用于我的插件,因为我依赖于另一个无法作为可部署插件导出的插件。

还有其他方法可以做到这一点,并将插件作为Eclipse应用程序运行吗?

0 个答案:

没有答案