Quote Originariamente inviata da andbin Visualizza il messaggio
Ok, il pom in effetti è corretto.

Lo scope provided è ok per jakarta.jakartaee-web-api. Tira dentro molte cose (è una dipendenza di "piattaforma" intera) ma sono tutte provided, quindi usate solo in compilazione.

Per il postgresql invece lo scope provided è scorretto. Se proprio vuoi mettere lo scope, al massimo dovrebbe essere <scope>runtime</scope> che ha anche più senso (i driver JDBC di norma non servono in compilazione ma solo a runtime).

Pertanto, fai questa correzione (e togli il jar dalla c:\tomcat-10.1.40\lib !). Quindi lancia un mvn package (da prompt o l'equivalente da IDE). Ti crea il war e se ci guardi dentro, dovresti trovare la WEB-INF/lib/ con svariati jar, tra cui anche il postgresql-42.7.5.jar.

Se c'è e fai il deploy del war, funziona? Se sì, stop, il problema non c'è o perlmeno non è a questi livelli ma forse altrove.

L'unica cosa che non hai descritto bene è come fai il deploy. Dall'IDE? Se ben ricordo (ed è ancora così), l'IntelliJ community non ha il supporto nativo di Tomcat mentre quello commerciale ha già tutte le integrazioni per i server.
Ciao, domani farò una prova, ma il problema è proprio quando la libreria la mette dentro WEB-INF/lib/. Quando la libreria di postgresql è qui dentro non viene caricata/registrata. mentre le la sposto dentro tomcat/lib, viene correttamente caricata/registrata e alla chiusura dell'app viene deregistrata correttamente.

Per il deploy, con intellj creo il file war, poi lo carico con tomcat ed eseguo il deploy dalla schermata manager di tomcat.