What is the difference between compile time and run time dependencies in Java? It is related to class path, but how do they differ?
Java doesn't actually link anything at compile time. It only verifies the syntax using the matching classes it finds in the CLASSPATH. It's not until runtime that everything gets put together and executed based on the CLASSPATH at that time.