The other day I suddenly started getting this error when running maven 2 on my gentoo box.
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher
The great oracle of google wasn't much help. I finally figured out that I had installed, or emerged in gentoo parlance, maven and this was causing a conflict with the maven I had installed in my home directory. I had edited my .bashrc file with the necessary environment variables but now bash was finding mvn on the /usr/bin path rather than in my home directory.
I uninstalled, or unmerge, maven-bin and everything worked fine again. In general I find it best to install all your java related build tools by hand in your home directory on Linux systems. This avoids all those permission issue which are designed to protect production system but are just an annoyance when developing..
When you are developing you don't want to have to su to root just to deploy your war. I usually have eclipse, maven and jetty installed in my home directory. It enables me to install eclipse plugins, upgrade maven etc without having to wait for the distro to catch up.