我目前在一个Java项目中工作,该项目有许多main
方法。现在,我做了一些重构,这影响了所有main
方法。然而,一些main
方法实际上是直接从其他方法调用的。我认为这是一种糟糕的风格,它实际上使重构更加困难。因此,我希望能够识别调用main
方法的所有位置。目前,我使用我的IDE工具来查找对给定main
方法的所有引用,但是这很繁琐,而且很容易忘记为main
方法之一检查这一点。
我的问题是,是否有一些检查样式规则或Eclipse编译器警告设置,每当直接调用main
方法时都会产生警告。
如果您担心人们可能以各种方式格式化了"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'是否正在调用另一个'main',它将有助于找到所有的'main'。
来源自Post: Java Program to disassemble Java Byte Code
正如@ jeeutnarg在评论中建议的:
[…你可以使用Eclipse的Java搜索。搜索'main',只搜索'Method',限制'References',并在'Sources'中搜索您的项目范围。
这就是我最后所做的,它实际上比我预期的要好得多。