java.lang.SecurityException AWSCredentialsProvider签名者信息不匹配

java.lang.SecurityException AWSCredentialsProvider Signer Information Does Not Match(java.lang.SecurityException AWSCredentialsProvider签名者信息不匹配)

本文介绍了java.lang.SecurityException AWSCredentialsProvider签名者信息不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Amazon提供的两个库:redshift-jdbc42-1.2.27.1051aws-java-sdk-core-1.11.600。这两个库都在包com.amazonaws.auth下定义了一个类AWSCredentialsProvider。当我尝试使用我的应用程序时,出现以下异常:

Caused by: java.lang.SecurityException: class "com.amazonaws.auth.AWSCredentialsProvider"'s signer information does not match signer information of other classes in the same package

我不确定如何解决此问题。如有任何帮助,我们将不胜感激!

推荐答案

我发现在亚马逊的红移JDBC驱动文档中,他们说:

如果您使用Amazon RedShift JDBC数据库驱动程序 身份验证,您必须在中安装AWS SDK for Java 1.11.118或更高版本 您的Java类路径。如果您没有安装AWS SDK for Java, 您可以使用包含AWS SDK的驱动程序。

 

问题是因为我现在拥有两个库都提供的AWS SDK组件。现在,我不需要将AWS SDK与驱动程序打包在一起,因为我可以从AWS S3 SDK中使用它。事实上,Amazon鼓励开发人员在没有预打包SDK的情况下使用RedShift JDBC驱动程序:

重要信息

我们强烈建议您使用Amazon RedShift JDBC驱动程序 如果可能,不包括AWS SDK

 

如果您遇到此问题,并且正在从Maven下载依赖项,您可以在此处找到非AWS-SDK驱动程序:https://mvnrepository.com/artifact/com.amazon.redshift/redshift-jdbc42-no-awssdk

这篇关于java.lang.SecurityException AWSCredentialsProvider签名者信息不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:java.lang.SecurityException AWSCredentialsProvider签名者信息不匹配