Wenn Sie Class.forName(...) nicht verwenden den Treiber manuell zu laden, dann haben Sie, glaube ich, ein berüchtigtes Problem mit maven-assembly-plugin - Es überschreibt Dateien mit demselben Namen, wenn sie aus verschiedenen jar stammen s.
In Ihrem Fall basiert der JDBC-Treibererkennungsmechanismus auf einer Datei mit dem Namen /META-INF/services/java.sql.Driver , und Sie haben mindestens zwei jar s eine solche Datei in Ihren Abhängigkeiten (Oracle- und Postgres-Treiber) enthalten, daher geht eine davon nach dem Ausführen von maven-assembly-plugin verloren .
Sie können maven-shade-plugin verwenden statt maven-assembly-plugin um diese Dateien wie hier beschrieben korrekt zusammenzuführen.
Alternativ können Sie Class.forName(...) verwenden um den fehlerhaften Autodiscovery-Mechanismus zu umgehen.