The candidate main methods are not computed properly - methods that are private, or have non-void return type are not candidate methods, but may hide a real candidate method.
For example:
```
$ cat /tmp/MainPrivate.java
public class MainPrivate {
private static void main(String... args) {
}
void main() {
System.out.println("Should be called!");
}
}
$ java /tmp/MainPrivate.java
error: can't find main(String[]) method in class: MainPrivate
```
For example:
```
$ cat /tmp/MainPrivate.java
public class MainPrivate {
private static void main(String... args) {
}
void main() {
System.out.println("Should be called!");
}
}
$ java /tmp/MainPrivate.java
error: can't find main(String[]) method in class: MainPrivate
```
- links to
-
Review(master) openjdk/jdk/25256