java - 如何仅捕获标记Eclipse JAVA中未警告的错误

标签 java compiler-errors eclipse-plugin

所以我正在开发一个eclipse插件

而且我只想在构建项目时捕获在“问题 View ”中发现的错误。

这是我的代码

markers2 = resource2.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
                if (markers2 != null) {
                    for (IMarker m : markers2) {
                        System.out.println("Message: " + m.getAttribute(IMarker.MESSAGE));
                        System.out.println("Line Number: " + m.getAttribute(IMarker.LINE_NUMBER));

但是此代码还会检测发现的警告。如何将其限制为仅错误?

最佳答案

问题标记的“严重性”属性会告诉您它是错误,警告还是仅仅是信息。

 IMarker marker = ....

 int sev = marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
sev将是以下之一
  • IMarker.SEVERITY_ERROR
  • IMarker.SEVERITY_WARNING
  • IMarker.SEVERITY_INFO

  • 所以
    IMarker [] markers2 = resource2.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
    if (markers2 != null) {
       for (IMarker m : markers2) {
         int sev = m.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
         if (sev == IMarker.SEVERITY_ERROR) {
            System.out.println("Message: " + m.getAttribute(IMarker.MESSAGE));
            System.out.println("Line Number: " + m.getAttribute(IMarker.LINE_NUMBER));
         }
       }
    }
    

    关于java - 如何仅捕获标记Eclipse JAVA中未警告的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550439/

    相关文章:

    java - 如何在 Java 中模拟 SOAP Web 服务

    angular - compiler.js :2175 Uncaught Error: The template specified for component . ..Component... 不是字符串

    c++ - 在访问说明符之前放置一个常量限定内联成员函数是错误的吗?

    c++ - 导入 msado15.dll 时出错

    java - Eclipse开发-获取编辑器中当前显示的行数

    java - 重复的类com.google.api.Advice

    java - 为什么 while 循环在 java 和 c 中的工作方式不同

    java - 通过 Youtube API 控制视频缓冲

    debugging - eclipse插件: get notification on debug terminate

    eclipse - 如何解决 Git 错误 : "Couldn' t create temporary repository"