sql >> Base de Datos >  >> RDS >> PostgreSQL

No se encontró un controlador adecuado al incluir los controladores necesarios con maven-assembly-plugin

Si no usa Class.forName(...) para cargar el controlador manualmente, entonces creo que enfrentaste un problema infame con maven-assembly-plugin - sobrescribe archivos con el mismo nombre cuando provienen de diferentes jar s.

En su caso, el mecanismo de descubrimiento del controlador JDBC se basa en un archivo llamado /META-INF/services/java.sql.Driver , y tienes al menos dos jar s que contienen dicho archivo en sus dependencias (controladores de Oracle y Postgres), por lo tanto, uno de ellos se pierde después de ejecutar maven-assembly-plugin .

Puedes usar maven-shade-plugin en lugar de maven-assembly-plugin para fusionar estos archivos correctamente, como se describe aquí.

Alternativamente, puede usar Class.forName(...) para eludir el mecanismo fallido de detección automática.