Ако не използвате Class.forName(...)
за да заредите драйвера ръчно, тогава мисля, че сте изправени пред скандален проблем с maven-assembly-plugin
- презаписва файлове със същото име, когато идват от различен jar
с.
Във вашия случай механизмът за откриване на JDBC драйвер разчита на файл с име /META-INF/services/java.sql.Driver
, и имате поне два jar
съдържа такъв файл във вашите зависимости (драйвери на Oracle и Postgres), следователно един от тях се губи след стартиране на maven-assembly-plugin
.
Можете да използвате maven-shade-plugin
вместо maven-assembly-plugin
за да обедините тези файлове правилно, както е описано тук.
Като алтернатива можете да използвате Class.forName(...)
за да заобиколите неуспешния механизъм за автоматично откриване.