2015-09-17 38 views
8

我已經下載了RedshiftJDBC41-1.1.17.1007.jar,以便使用com.amazon.redshift.jdbc41.Driver進行一些我正在做的Redshift POC工作,並且已經手動將它添加到我的類路徑中。Redshift JDBC驅動程序的Gradle/Maven依賴關係

我想現在將它合併到我們的構建,但我似乎無法找到它的一個依賴項名稱的例子放在我的build.gradle文件或找到它在Maven回購。有小費嗎? (注意,我只是在尋找紅移jdbc,而不是舊的postgres-redshift驅動程序)。

+0

已添加Maven回購,請參閱下面的鏈接nicola –

回答

0

看來這件神器並不適用於任何Maven回購。我在this GitHub repo上找到了版本號爲1.1.2.0002的redshift JDBC驅動程序,但這不是您要查找的版本。

您最好的選擇使用是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

要認識到的第一件事是亞馬遜的文檔講述了加載驅動程序JAR文件的V4版本。如果你下載你得到了司機的v4X版本的驅動程序,以便您的代碼應該是:

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

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

注意在第一個例子中添加的版本號!

司機罐子是在這裏:

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

亞馬遜沒有發佈到Maven的(來吧亞馬遜跆拳道?),所以你必須導入你下載的jar。 (對於JDBC)Maven的導入命令如下:

MVN安裝:安裝文件-Dfile =/RedshiftJDBC41-1.1.10.1010.jar -DgroupId = com.amazon -DartifactId = redshift.jdbc41 -Dversion = 1.1.10.1010 -Dpackaging =罐子-DgeneratePom =真

Maven的依賴性看起來像這樣(請注意,artificatID和版本應該是你給它上面mvn命令。如果司機已被更新,那麼mvn命令和依賴性字段必須改變):

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

我也這樣做。有誰知道這個JDBC驅動程序可用的許可證是什麼?我不想違反許可條款。 – rajeshnair

4

他們沒有上傳到公共回購的簡單原因:許可。

因爲它,我浪費了很多時間。花一個小時找出它在maven回購中找到原因(閱讀關於人的評論等)。一小時將其上傳到內部存儲庫。然後弄清楚如何使用AWS Lambda。

由於某些愚蠢的許可/法律問題,Amazon不會將RedShift JDBC驅動程序發佈到任何公共存儲庫。他們使用大量的開源項目,但不向社區貢獻任何東西。這個紅移驅動器就是一個例子。

它是一個以客戶爲中心的公司,但仍然有一些法律人員沒有正確地工作。順便說一句,我是亞馬遜的前僱員。

1

亞馬遜未發佈到Maven,因此您必須導入您下載的jar。

搖籃

  1. download司機 2.創建庫項目的根目錄文件夾

  2. 加在的build.gradle

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

JAVA用法示例

Follow here