Hvis du ikke bruger Class.forName(...)
for at indlæse driveren manuelt, så tror jeg, du stod over for et berygtet problem med maven-assembly-plugin
- det overskriver filer med samme navn, når de kommer fra forskellige jar
s.
I dit tilfælde er JDBC-driveropdagelsesmekanismen afhængig af en fil med navnet /META-INF/services/java.sql.Driver
, og du har mindst to jar
s indeholder en sådan fil i dine afhængigheder (Oracle og Postgres drivere), derfor går en af dem tabt efter at have kørt maven-assembly-plugin
.
Du kan bruge maven-shade-plugin
i stedet for maven-assembly-plugin
for at flette disse filer korrekt, som beskrevet her.
Alternativt kan du bruge Class.forName(...)
for at omgå den fejlende autodiscovery-mekanisme.