Originariamente inviato da francesco.muia
Come diceva il buon Lele, il classpath di un progetto web si divede in 2 parti :
Il classpath di compilazione (nel tuo caso classpath eclipse) e il classpath di runtime (classpath del server). Dato che non è detto che i due classpath debbano essere uguali quando aggiungi un jar (soprattutto se esterno) in eclipse lui te lo aggiunge al primo classpath cioè a quello di compilazione e tale jar non ti verrà esportato all'interno del war che poi andrai a deployare sul server.
Per far si che eclipse ti inserisca questo/i jar all'interno della cartella web-inf/lib devi specificarglielo; per farlo ci sono diversi modi di solito io uso la voce "Deployment Assembly" che trovi tra le proprietà del progetto, per poi selezionare "Java Build Path Entry" per aggiugere i jar che vorrò inserire all'interno dell'applicazione.
(Anzi per dirla tutto io di solito non faccio deployare eclipse e mi faccio il mio bel war con "Ant" o Maven...)
Ecco. Non usando Eclipse non potevo sapere che funzionava in questo modo.

Io uso NetBeans che, quando vengono aggiunte librerie esterne ad un progetto, le aggiunge automaticamente all'impacchettamento (all'interno di una directory "lib" nella "dist" assieme al JAR o direttamente dentro al WAR se si tratta di un progetto Web).


Ciao.