Se você não usar
Class.forName(...)
para carregar o driver manualmente, acho que você enfrentou um problema infame com o maven-assembly-plugin
- sobrescreve arquivos com o mesmo nome quando eles vêm de diferentes jar
s. No seu caso, o mecanismo de descoberta de driver JDBC depende de um arquivo chamado
/META-INF/services/java.sql.Driver
, e você tem pelo menos dois jar
s contendo tal arquivo em suas dependências (drivers Oracle e Postgres), portanto, um deles é perdido após executar o maven-assembly-plugin
. Você pode usar
maven-shade-plugin
em vez de maven-assembly-plugin
para mesclar esses arquivos corretamente, conforme descrito aqui. Alternativamente, você pode usar
Class.forName(...)
para contornar o mecanismo de autodescoberta com falha.