警告:不应直接调用main方法

时间:2016-08-26 18:10:29

标签: java main compiler-warnings checkstyle static-code-analysis

我目前正在开发一个有很多main方法的Java项目。现在,我做了一些重构,这会影响所有main方法。但是,某些main方法实际上是直接从其他方法调用的。我认为这是糟糕的风格,它实际上使重构变得更难。因此,我希望能够识别调用main方法的所有位置。目前,我使用我的IDE工具查找对给定main方法的所有引用,但这很繁琐,很容易忘记检查其中一个main方法。

我的问题是,是否存在一些checkstyle规则或Eclipse编译器警告设置,只要直接调用main方法就会产生警告。我找不到一个。

2 个答案:

答案 0 :(得分:1)

如果您担心人们可能已经格式化了" main"各种各样的方法,当你使用"模式匹配"时,你可能会错过其中的一些方法。 ...

可以" javap -public MyClass.class"为你工作?当我尝试它时...

    public class Main1 {
         public
    static
                    void
    main
    (
                    String
    []
    args
                    )
    {
            System.out.println("Main1: Hello World");
         }
    }

它产生了以下输出:

    Compiled from "Main1.java"
    public class Main1 {
      public Main1();
      public static void main(java.lang.String[]);
    }

不可否认,它并没有发现'如果这个'主要'正在呼唤另一个' main',只需要找到所有主要内容即可。

来自帖子的来源:Java Program to disassemble Java Byte Code

答案 1 :(得分:0)

正如@Jeutnarg在评论中所说:

  

[...]您可以使用Eclipse的Java搜索。搜索“主要”,仅在项目范围内的“来源”中搜索“限制为参考”的“方法”。

这就是我最终做的事情,它实际上比我预期的要好得多。