This week's giveaway is in the Java/Jakarta EE forum. We're giving away four copies of Java EE 8 High Performance and have Romain Manni-Bucau on-line! See Why does the JAVA_HOME/bin appear in your CLASSPATH? That belongs in PATH.
Why does your application need that QTJava.zip archive for?
The fact that you've got a CLASSPATH suggests that this is an environment variable. I think that's the wrong way to do it. (I don't have a CLASSPATH environment variable on any machine that I use.) A single CLASSPATH doesn't apply to every application that I write. IDEs and JEE containers both ignore it completely, so I don't find it to be very useful.
Your experience suggests that the JDK compiler ignores it, too.
I think the right way to do it is to use the -classpath option for javac.exe. That guarantees that you'll have everything you need when you compile: