Java EclipseJDT以编程方式设置/创建断点

Java EclipseJDT以编程方式设置/创建断点,java,eclipse,debugging,breakpoints,Java,Eclipse,Debugging,Breakpoints,我希望在Eclipse中以编程方式在另一个文件中的任意行号设置/创建断点。我很想看到一个通用的解决方案,但我想我必须依赖EclipseJDT插件。我该怎么做?我试过这样的方法: JDIDebugModel.createLineBreakpoint(resource, typeName, lineNumber, -1, -1, 0, false, null); 但我有两个问题: 我必须在构建路径中包含大量的库才能使其正常工作,例如/usr/local/eclipse/plugins/org.ec

我希望在Eclipse中以编程方式在另一个文件中的任意行号设置/创建断点。我很想看到一个通用的解决方案,但我想我必须依赖EclipseJDT插件。我该怎么做?我试过这样的方法:

JDIDebugModel.createLineBreakpoint(resource, typeName, lineNumber, -1, -1, 0, false, null);
但我有两个问题:

  • 我必须在构建路径中包含大量的库才能使其正常工作,例如
    /usr/local/eclipse/plugins/org.eclipse.core.resources\u 3.9.0.v20140514-1307.jar
    。如果我添加这些插件,它们需要其他插件等。我可能必须添加所有Eclipse插件/库才能使其正常工作
  • 如何获得适当的资源,以便将其提供给上述方法?给出一个
    null
    值很可能不起作用。但是的所有实现都是内部的
  • 我还考虑过直接与JDI通信,但我无法将其与Eclipse调试器结合使用(这是一个很好的德国资源)

    如果不能从任意代码中实现,那么可以从Eclipse插件中实现吗?这也是一种选择,尽管并不可取


    我找不到任何解决办法,希望在这里得到一些帮助。提前谢谢

    大多数Eclipse插件只能在Eclipse环境中运行,因为它们依赖于正确初始化的Eclipse/OSGi插件基础结构

    由于
    jdiebugmodel.createLineBreakpoint
    需要
    IResource
    对象,因此它只能在带有工作区的Eclipse IDE(或基于IDE的RCP)中使用


    因此,是的,您可以在Eclipse插件中使用它,该插件必须安装到Eclipse或Eclipse RCP中。

    好的,谢谢。尽管我仍然不知道如何在我的插件中创建
    IResource
    对象。有什么想法吗?
    IResource
    IFile
    IFolder
    IProject
    IWorkspaceRoot
    的基本接口,工作区中存在的就是这些对象。您可以通过各种工作区API(如
    ResourcesPlugin.getWorkspace().getRoot().getFile()