在Eclipse Luna上,我需要以编程方式构建Java项目,然后检索问题视图的记录。我使用以下代码

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IResource resource = workspace.getRoot();
IMarker[] markers = resource.findMarkers(IMarker.MARKER, true, IResource.DEPTH_INFINITE);
for (IMarker m : markers) {
    System.out.println("Id: " + m.getId());
    System.out.println("Message: " + m.getAttribute(IMarker.MESSAGE));
    System.out.println("Source ID: " + m.getAttribute(IMarker.SOURCE_ID));
    System.out.println("Location: " + m.getAttribute(IMarker.LOCATION));
    System.out.println("Line Number: " + m.getAttribute(IMarker.LINE_NUMBER));
    System.out.println("Marker: " + m.getAttribute(IMarker.MARKER));
}


信息和行号正确打印。但是IMarker.SOURCE_ID返回“ JDT”,并且IMarker.LOCATION始终为空。

谁知道在问题视图中如何获取显示为“资源”和“路径”的数据?我无法使用MarkerSupportView创建任何自定义Marker视图。我需要以编程方式访问现有的问题视图。感谢您的任何建议。

最佳答案

得到它了。使用getResource()而不是getAttribute()。

07-24 15:14