This isn't a WSAD problem. WSAD - like Eclipse - is not a
J2EE container. The best it can do is manage the operation of a J2EE container. And one of the requirements of a J2EE container is that you structure J2EE apps in the form required by the J2EE standard.
In other words, one J2EE app can't call code residing in another J2EE app. Each app has its own unique classpath. To share code you either have to copy it from app to app or you have to place it in one of the common classpath locations of the J2EE server. And since you're looking for a
servlet (or so the message says), you really shouldn't be placing servlet code in an appserver global library, so you need to either copy the servlet or have it called via an http request.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.