È meglio installare il driver PostgreSQL nella cartella tomcat\lib. Basta copiare il file jar del driver in PATH_TO_TOMCAT\lib
Non è una buona idea aggiungere cose al sistema CLASSPATH perché puoi finire con l'inferno del caricatore di classi. Ecco un esempio di come finisci nell'inferno jar / classpath.
- Supponiamo che l'app corrente utilizzi Postgres 9.1 e tu abbia configurato il driver sul sistema CLASSPATH
- Decidi di eseguire un'altra app su quella scatola che comunica con una versione più recente di Postgres, diciamo la versione 9.2
- Poiché stai utilizzando il percorso di classe del sistema, l'app 2 finirà per utilizzare il vecchio driver poiché il percorso di classe SYSTEM tende ad avere la precedenza su un percorso di classe delle applicazioni a meno che lo script di avvio dell'app non imposti CLASSPATH="" per svuotare il percorso di classe del sistema o utilizzi un caricatore di classi personalizzato che non esegue il caricamento della prima classe padre.
Vedi http://tomcat.apache.org/ tomcat-7.0-doc/jndi-datasource-examples-howto.html