2015-09-17 9 views
8

Я загрузил RedshiftJDBC41-1.1.17.1007.jar, чтобы использовать com.amazon.redshift.jdbc41.Driver для некоторых работ RedSift POC, которые я делаю, и добавлял их вручную в мой путь к классам.Зависимость Gradle/Maven от драйвера Redshift JDBC

Я бы хотел включить его в нашу сборку, но я не могу найти пример имени зависимостей для его размещения в моем файле build.gradle или найти его в репозитории Maven. Какие-нибудь советы? (Обратите внимание, что я ищу только reddsh jdbc, а не старый драйвер postgres-redshift).

+0

Maven repo был добавлен, см. Ссылку ниже в комментарии nicola –

ответ

0

Кажется, что этот артефакт недоступен в любом репозитории Maven. Мне удалось найти драйвер JDBC с красным смещением для версии 1.1.2.0002 по адресу this GitHub repo, но это не та версия, которую вы ищете.

Лучше бы 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

Первое, что нужно понимать, что амазонки документация говорит вам, чтобы загрузить версию v4 файла драйвера JAR. Если вы загрузили драйвер вы получили версию 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

Amazon не публикует в Maven (Приходите на Amazon WTF?), Поэтому вам нужно импортировать загружаемую банку. Команда Maven импорта (для JDBC) выглядит следующим образом:

МВН установить:. Установить-файл -Dfile =/RedshiftJDBC41-1.1.10.1010.jar -DgroupId = com.amazon -DartifactId = redshift.jdbc41 -Dversion = 1.1.10.1010 -Dpackaging = баночка -DgeneratePom = истина

зависимость Maven выглядит следующим образом (Обратите внимание, что artificatID и версию должен быть то, что вы дали в МВНЕ команды выше. Если драйвер был обновлен, то необходимо изменить команду mvn и поля зависимостей):

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

Я делаю то же самое. Кто-нибудь знает, что такое лицензия, по которой этот драйвер JDBC доступен? Я не хочу нарушать условия лицензии. – rajeshnair

4

Простая причина, по которой они не загружаются на публичное репо: Лицензирование.

Я потратил много часов из-за этого. Час, чтобы найти его в maven repo и найти причину (чтение о комментариях людей и т. Д.). Час, чтобы загрузить его во внутренний репозиторий. Затем выясните, как использовать его с AWS Lambda.

Amazon не публикует драйвер RedShift JDBC в любом публичном репозитории из-за некоторых глупых вопросов лицензирования/права. Они используют LOT проектов с открытым исходным кодом, но ничего не сообщают сообществу. Именно этот драйвер красного смещения является примером.

Его клиентская компания, но все же есть некоторые юридические лица, которые не выполняют свою работу должным образом. Кстати, я бывший сотрудник амазонки.

1

Amazon не публикует в Maven, поэтому вам нужно импортировать загружаемую банку.

Gradle

  1. download драйвер 2.Create ЛИЭС папку в корневом каталоге проекта

  2. добавить в build.gradle

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

JAVA ИСПОЛЬЗОВАНИЕ ПРИМЕР

Follow here

Смежные вопросы