I was looking through some Java source and noticed that the main
method wasn't defined.
How does Java compile source code without knowing where to start?
The main
method is only used when the Java Virtual Machine is executing your code. Code cannot be executed without a main
method but it can still be compiled.
When compiling code, you usually specify a set of files on the command line e.g.
javac MyClass1.java MyClass2.java
The Java compiler (javac
) examines each class you passed to it and compiles it into a .class file.
One reason Java source code may be missing a main
method is because it is designed to be used as a library, instead of being executed.
Something you may find interesting: although the source code compiled by the Java compiler does not need a main
method, the source code for the Java compiler itself does have a main
method.