如何使用Netbeans在项目中显示所有Java编译器警告?

时间:2013-11-04 23:04:12

标签: java netbeans

来自Visual Studio和Eclipse,如何查找所有编译器警告,例如整个项目的未使用变量。这似乎是一件微不足道的事情,但无法找到它。我可以找到"行动项目"中的所有错误。窗口,但不是所有警告。

3 个答案:

答案 0 :(得分:5)

似乎不可能。有一个开放的错误报告:https://netbeans.org/bugzilla/show_bug.cgi?id=135014

这是旧的,刚刚分配(见错误历史记录)。

作为替代方案,您可以尝试Source→Inspect。它与Java编译器警告不完全相同,但有所帮助。

例如,在下面的代码中,它捕获了未使用的导入和空变量的使用,但未报告未使用的变量(尽管在NetBeans编辑器中对其进行了正确注释)。

import java.io.InputStreamReader; // Reported unused import

public class TestJava {
    public static void main(String[] args) {

        String input = null;
        String unused; // DID NOT report unused variable

        System.out.println("Input "+ input); // Reported usage of null
    }
}

只需确保安装FindBugs插件即可充分利用它。 Inspect 对话框将警告该插件丢失并为您安装。

答案 1 :(得分:3)

老实说,似乎不太可能。 “未使用的变量”甚至不是一流的“提示”(您可以在工具>选项>编辑器>提示下看到提示...并注意到没有基于未使用变量的提示)。

显然,您可以在NetBeans中配置的“未使用变量”的唯一方面是它在编辑器中的样式。工具>选项>字体和颜色>语法> Language = Java>未使用的元素。

即使它是一个Hint(它不是),即使你创建了一个勾选“基于提示的任务”的自定义过滤器,它甚至不可能在“Action Items”窗格中显示所有实际的Hints “盒子。

看起来你最接近的选择是安装PMD插件,它可以列出项目中所有未使用的变量(以及其他问题)。工具>插件>可用插件> tick PMD>安装。然后使用工具>运行PMD。您可以通过工具>配置PMD的规则。选项>杂项> PMD。 PMD不会根据我的经验自动刷新(它是按需的),虽然有一个“启用扫描”选项,似乎它应该会导致自动刷新[有时不适合我]。

Source>下存在其他用于代码检查的内置工具。检查。 NetBeans有许多内置的检查器(包括基于前面提到的“提示”的检查器),以及与FindBugs,非常容易实现的集成,但在Source>下没有这些检查器。检查是否有关于未使用变量的规则。来源> Inspect也是按需的,似乎不会自动刷新。

enter image description here

答案 2 :(得分:0)

问题是如何在NetBeans中显示我不相信的警告。但是,要获取所有警告消息,可以使用带有标志-Xlint

的命令行编译程序

示例:

javac -Xlint programName.java

这将列出所有警告。