Jika Anda tidak menggunakan Class.forName(...)
untuk memuat driver secara manual, maka saya pikir Anda menghadapi masalah terkenal dengan maven-assembly-plugin
- itu menimpa file dengan nama yang sama ketika mereka berasal dari jar
yang berbeda s.
Dalam kasus Anda, mekanisme penemuan driver JDBC bergantung pada file bernama /META-INF/services/java.sql.Driver
, dan Anda memiliki setidaknya dua jar
s yang berisi file seperti itu di dependensi Anda (driver Oracle dan Postgres), oleh karena itu salah satunya hilang setelah menjalankan maven-assembly-plugin
.
Anda dapat menggunakan maven-shade-plugin
alih-alih maven-assembly-plugin
untuk menggabungkan file-file ini dengan benar, seperti yang dijelaskan di sini.
Atau, Anda dapat menggunakan Class.forName(...)
untuk menghindari mekanisme penemuan otomatis yang gagal.