Saltar al contenido

Encuentre el controlador Oracle JDBC en el repositorio de Maven

Nuestro equipo especializado pasados muchos días de trabajo y de juntar de datos, obtuvimos la solución, esperamos que resulte de gran utilidad para tu plan.

Solución:

¿Cómo encuentro un repositorio (si lo hay) que contenga este artefacto?

Desafortunadamente, debido a la licencia binaria, no hay un repositorio público con Oracle Driver JAR. Esto sucede con muchas dependencias, pero no es culpa de Maven. Si encuentra un repositorio público que contiene el JAR, puede estar seguro de que es ilegal.

¿Cómo lo agrego para que Maven lo use?

Algunos JAR que no se pueden agregar por motivos de licencia tienen un pompón entrada en el repositorio de Maven Central. Solo échale un vistazo, contiene la información de Maven preferida del proveedor:

com.oracle
ojdbc14
10.2.0.3.0

…y la URL para descargar el archivo que en este caso es http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html.

Una vez que haya descargado el JAR, simplemente agréguelo al repositorio de su computadora con (tenga en cuenta que saqué el ID de grupo, el ID de artefacto y la versión del POM):

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 
     -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar -DgeneratePom=true

El último parámetro para generar un POM lo salvará de las advertencias de pom.xml

Si su equipo tiene un repositorio Maven local, esta guía podría ser útil para cargar el JAR allí.

Por alguna razón, no pude hacer funcionar ninguna de las soluciones anteriores. (Todavía no puedo.)

En cambio, lo que hice fue incluir el jar en mi proyecto (blech) y luego crear una dependencia de “sistema” que indica la ruta al jar. Probablemente no sea la forma CORRECTA de hacerlo, pero funciona. Y elimina la necesidad de que los otros desarrolladores del equipo (o la persona que configura el servidor de compilación) coloquen el archivo jar en sus repositorios locales.

ACTUALIZAR: Esta solución me funciona cuando ejecuto Hibernate Tools. Sin embargo, NO parece funcionar para crear el archivo WAR. No incluye el archivo ojdbc6.jar en el archivo WAR de destino.

1) Cree un directorio llamado “lib” en la raíz de su proyecto.

2) Copie el archivo ojdbc6.jar allí (como se llame el jar).

3) Crea una dependencia que se vea así:


    com.oracle
    ojdbc
    14
    system
    $basedir/lib/ojdbc6.jar 

Feo, pero funciona para mí.

Para incluir los archivos en el archivo de guerra, agregue lo siguiente a su pom


    MyAppName
    
        
            org.apache.maven.plugins
            maven-war-plugin
            
                
                    
                        $basedir/src/main/java
                        WEB-INF/classes
                        
                            **/*.properties
                            **/*.xml
                            **/*.css
                            **/*.html
                        
                    
                    
                        $basedir/lib
                        WEB-INF/lib
                        
                            **/*.jar
                        
                    
                
            
        

        
            maven-compiler-plugin
            
                1.6
                1.6
            
        
    

El controlador Oracle JDBC ahora está disponible en el repositorio de Oracle Maven (no en Central).


    com.oracle.jdbc
    ojdbc7
    12.1.0.2

El repositorio de Oracle Maven requiere un registro de usuario. Las instrucciones se pueden encontrar en:

https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-sin-ides

Actualización 2019-10-03

Noté que Spring Boot ahora usa el controlador Oracle JDBC de Centro de expertos.


    com.oracle.ojdbc
    ojdbc10
    19.3.0.0

Para usuarios de Gradle, use:

implementation 'com.oracle.ojdbc:ojdbc10:19.3.0.0'

No hay necesidad de registro de usuario.

Actualización 2020-03-02

Oracle ahora publica los controladores con el ID de grupo com.oracle.database. Consulte la respuesta de Anthony Accioly para obtener más información. gracias antonio

Controlador Oracle JDBC compatible con JDK6, JDK7 y JDK8


  com.oracle.database.jdbc
  ojdbc6
  11.2.0.4

Controlador Oracle JDBC compatible con JDK8, JDK9 y JDK11


  com.oracle.database.jdbc
  ojdbc8
  19.3.0.0

Controlador Oracle JDBC compatible con JDK10 y JDK11


  com.oracle.database.jdbc
  ojdbc10
  19.3.0.0

Reseñas y valoraciones

Si guardas alguna desconfianza o capacidad de afinar nuestro noticia te mencionamos escribir una anotación y con placer lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *