我已经下载了RedshiftJDBC41-1.1.17.1007.jar,以便使用com.amazon.redshift.jdbc41.Driver
进行我正在进行的某些Redshift POC工作,并将其手动添加到我的类路径中。
我现在想将它合并到我们的构建中,但我似乎无法找到一个依赖项名称的示例,以便将其放入我的build.gradle
文件中或在Maven回购有小费吗? (注意,我只是寻找redshift jdbc,而不是更老的postgres-redshift驱动程序。)
答案 0 :(得分:12)
首先要意识到的是,amazon文档告诉您加载驱动程序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(来自Amazon WTF?),因此您必须导入您下载的jar。 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>
答案 1 :(得分:11)
现在可以在maven repo上使用Redshift JDBC驱动程序。看http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection-with-maven.html
答案 2 :(得分:4)
他们没有上传到公共回购的简单原因:许可。
因此我浪费了很多时间。花了一个小时才能在maven回购中找到它并找到原因(阅读有关人们的评论等)。一小时将其上传到内部存储库。然后找出如何将其与AWS Lambda一起使用。
由于一些愚蠢的许可/法律问题,亚马逊不会将RedShift JDBC驱动程序发布到任何公共存储库。他们使用了很多开源项目,但没有回馈社区。只是这个红移驱动程序就是一个例子。
它是一家以客户为中心的公司,但仍然有一些合法的人不能正常工作。顺便说一句,我是亚马逊的前雇员。
答案 3 :(得分:1)
亚马逊不会发布到Maven,因此您必须导入您下载的jar。
摇篮
download司机 2.在项目根目录
添加build.gradle
repositories {
flatDir { dirs 'libs'}
}
dependencies {
compile name: 'RedshiftJDBC42-1.2.1.1001'
}
JAVA使用示例
答案 4 :(得分: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
答案 5 :(得分:0)
最简单的方法是将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'
}
答案 6 :(得分:0)
添加
<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>