Подтвердить что ты не робот

Gradle/зависимость от Maven для драйвера Redshift JDBC

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

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

4b9b3361

Ответ 2

Первое, что нужно понять, это то, что документация amazon сообщает вам загрузить версию файла JAR драйвера v4. Если вы загрузили драйвер, вы получили версию драйвера v4X, поэтому ваш код должен быть:

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

НЕ

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

Обратите внимание на добавление номера версии в первом примере!

Драйвер jar находится здесь:

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

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

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

Зависимость Maven выглядит так (обратите внимание, что artificatID и Version должны быть тем, что вы дали ему в команде mvn выше. Если драйвер был обновлен, тогда команда mvn и поля зависимостей должны измениться):

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

Ответ 3

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

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

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

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

Ответ 4

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

Gradle

  • скачать драйвер 2.create libs folder в корневом каталоге проекта

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

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

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

Следуйте здесь

Ответ 5

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

Лучше всего было бы вручную добавить эту зависимость, используя:

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

Ответ 6

Самый простой способ - добавить репозиторий Amazon Redshift в файл сборки Gradle, а затем включить зависимость следующим образом.

build.gradle:

group 'com.yourcompany'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    maven {
        url 'http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release'
    }
}

dependencies {
        compile group: 'com.amazon.redshift', name: 'redshift-jdbc42', version: '1.2.16.1027'
}

Ответ 7

добавлять

<repositories>
    <repository>
      <id>redshift</id>
      <url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
    </repository>
</repositories>

тогда версия, которую вы хотите.

<dependency>
   <groupId>com.amazon.redshift</groupId>
   <artifactId>redshift-jdbc42</artifactId>
   <version>1.2.10.1009</version>
</dependency>