Compiling and running servlets are two different things when it comes to Classpath. Tomcat completely ignores your Environment CLASSPATH settings.
The compiler needs to be directed to the servlet.jar (sometimes called servlet-api.jar or servlet-impl.jar).
In my opinion, using Ant to control compilation is the best way to juggle classpaths while keeping your environment variables simple. Yes there is a learning curve with Ant but you will be glad you did.