2015-09-17 16 views
8

Ho scaricato il RedshiftJDBC41-1.1.17.1007.jar per utilizzare lo com.amazon.redshift.jdbc41.Driver per alcuni lavori di Redshift POC che sto facendo e lo ho aggiunto manualmente al mio classpath.Dipendente/dipendente Maven per il driver JDBC Redshift

Vorrei ora incorporarlo nella nostra build, ma non riesco a trovare un esempio di nome di dipendenza per inserirlo nel mio file build.gradle o trovarlo in un repository Maven. Qualche consiglio? (Nota, sto cercando solo redshift jdbc, non il più vecchio driver postgres-redshift).

+0

Repo Maven è stato aggiunto, vedi il link qui sotto nel commento di Nicola –

risposta

0

Sembra che questo artefatto non sia disponibile in alcun repository Maven. Sono stato in grado di trovare il driver JDBC redshift per la versione 1.1.2.0002 su this GitHub repo ma questa non è la versione che stai cercando.

La cosa migliore sarebbe quella di utilizzare manually add this dependency:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=jar -DgeneratePom=true 
10

La prima cosa da capire è che la documentazione amazon richiede di caricare la versione v4 del file del driver JAR. Se si è scaricato il driver che hai una versione V4x del driver in modo che il codice dovrebbe essere:

Class.forName("com.amazon.redshift.jdbc41.Driver"); 

NON

Class.forName("com.amazon.redshift.jdbc4.Driver"); 

nota l'aggiunta del numero di versione nel primo esempio!

Il vaso driver è qui:

http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html

Amazon non pubblica a Maven (Vieni su Amazon WTF?) Quindi devi importare il barattolo scaricato. Il comando Maven di importazione (per JDBC) assomiglia a questo:

mvn installare:. Installare file -Dfile =/RedshiftJDBC41-1.1.10.1010.jar -DgroupId = com.amazon -DartifactId = redshift.jdbc41 -Dversion = 1.1.10.1010 -Dpackaging = vaso -DgeneratePom = true

la dipendenza Maven assomiglia a questo (si noti che l'artificatID e versione dovrebbe essere quello che ha dato nel comando mvn sopra. Se il driver è stato aggiornato, quindi il comando mvn e i campi dipendenza devono cambiare):

<dependency> 
     <groupId>com.amazon</groupId> 
     <artifactId>redshift.jdbc41</artifactId> 
     <version>1.1.10.1010</version> 
    </dependency> 
+0

Sto facendo lo stesso. Qualcuno sa qual è la licenza con cui questo driver JDBC è disponibile? Non voglio rompere i termini della licenza. – rajeshnair

4

Semplice motivo per cui non vengono caricati su un repo pubblico: licenze.

Ho sprecato molte ore a causa di ciò. Un'ora per capire di trovarlo nel repository Maven e trovare il motivo (leggendo i commenti delle persone ecc.). Un'ora per caricarlo nel repository interno. Quindi scopri come usarlo con AWS Lambda.

Amazon non pubblica il driver JDBC di RedShift in nessun archivio pubblico, a causa di alcune stupide licenze/problemi legali. Usano molti progetti open source, ma non contribuiscono alla comunità. Solo questo driver redshift è un esempio.

È un'azienda customer centric, ma ci sono ancora alcuni legali che non svolgono il proprio lavoro in modo corretto. A proposito, sono un ex dipendente di Amazon.

1

Amazon non pubblica su Maven quindi è necessario importare il jar scaricato.

Gradle

  1. download cartella del driver librerie 2.Creare nella directory principale del progetto

  2. aggiungere nella build.gradle

    repositories { 
    
        flatDir { dirs 'libs'} 
    } 
    
    dependencies { 
    
        compile name: 'RedshiftJDBC42-1.2.1.1001' 
    
    } 
    

JAVA USO ESEMPIO

Follow here

Problemi correlati