[Bug]:IDEA run 键消失,main方法无效(检测不到)

1.问题起因

在编写代码过程中,突然发现明明写了 main 方法,但是编译器并没有检测到,且整个文件并没有编译报错。
[Bug]:IDEA run 键消失,main方法无效(检测不到)

2.问题排查

建了几个其他的test demo,发现都可以正常运行,只是这个类有问题。在编译过程中,发现编译器报了如下警告:
[Bug]:IDEA run 键消失,main方法无效(检测不到)

3.问题解决

[Bug]:IDEA run 键消失,main方法无效(检测不到)
发现由于手滑引入了一个异常的String类,而且在没有引用String的任何方法下,没有变灰,比较奇怪。把该方法注释掉后,发现main方法可以重新运行。
[Bug]:IDEA run 键消失,main方法无效(检测不到)

4.问题总结

引入了一个JDK内部专用的API,导致main方法失效,至于为什么import 该类后整个类无法运行,且没有报错,猜测可能是编译器因为检测到该String类是内部API,判定此类没有main方法导致的。
注释掉就可以恢复正常。