All contents are taken from Kathy and Bert's SCJP Book.
Given this file directory :
A Classpath :
States: Remember when using a classpath, the last directory in the path must be the super-directory of the root directory for the package. (In the preceding example, myApp is the root directory of the package myApp.utils.) Notice that myApp can be the root directory for more than one package (myApp.utils and myApp.engine), and the java and javac commands can find what they need across multiple peer packages like this. In other words, if ws is on the classpath and ws is the super-directory of myApp, then classes in both the myApp.utils and myApp.engine packages will be found.
Why did -classpath ws search directories utils and engine? I thought it'll only search for all .class files in the directory instead. Why in this case, -classpath ws would search for all of it's sub-directories? I dont really understand what's a super directory but I think I know it's linked to a root directory.