尝试从Aws Lambda加载Redshift jdbc jar时出现以下错误。
java.io.IOException:无法加载驱动程序:JAR是否预期但未加载 找到。 java.sql.SQLException:找不到合适的驱动程序 JDBC:红移://insightlyanalytics.c0ubofza4jil.us-west-2.redshift.amazonaws.com:5439 /分析;用户= XXX小时;密码= XXX 在java.sql.DriverManager.getConnection(DriverManager.java:689)at java.sql.DriverManager.getConnection(DriverManager.java:270)at com.insightly.GeoPerformanceReports.updateRedshiftTable(GeoPerformanceReports.java:154)
加载jar的代码如下。
Class.forName("com.amazon.redshift.jdbc42.Driver");
Redshift jar位于上传到Lambda的jar文件中。
pom.xml依赖关系如下所示。
<dependency>
<groupId>com.amazon.redshift</groupId>
<artifactId>redshift-jdbc42-no-awssdk</artifactId>
<version>1.2.10.1009</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.255</version>
</dependency>
我无法弄清楚出了什么问题。