簡體   English   中英

谷歌雲 KMS java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V

[英]Google Cloud KMS java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V

我正在為 KMS 使用 java 客戶端庫。 此處顯示的 KeyManagementServiceClient.create() 方法正在引發上述異常。

番石榴依賴項看起來不錯 - 27.1-jre

public String encrypt(String plaintext) throws IOException {
        byte[] ciphertext = encrypt(PROJECT_ID, LOCATION_ID, KEYRING_ID, KEY_ID, plaintext.getBytes());
        return ciphertext.toString();
    }


    /**
     * Encrypts the given plaintext using the specified crypto key.
     */
    private static byte[] encrypt(
            String projectId, String locationId, String keyRingId, String cryptoKeyId, byte[] plaintext)
            throws IOException {

        // Create the KeyManagementServiceClient using try-with-resources to manage client cleanup.
        try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {

            // The resource name of the cryptoKey
            String resourceName = CryptoKeyName.format(projectId, locationId, keyRingId, cryptoKeyId);

            // Encrypt the plaintext with Cloud KMS.
            EncryptResponse response = client.encrypt(resourceName, ByteString.copyFrom(plaintext));

            // Extract the ciphertext from the response.
            return response.getCiphertext().toByteArray();
        }
    }
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V

    at io.grpc.Metadata$Key.validateName(Metadata.java:629)
    at io.grpc.Metadata$Key.<init>(Metadata.java:637)
    at io.grpc.Metadata$Key.<init>(Metadata.java:567)
    at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:742)
    at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:737)
    at io.grpc.Metadata$Key.of(Metadata.java:593)
    at io.grpc.Metadata$Key.of(Metadata.java:589)
    at com.google.api.gax.grpc.GrpcHeaderInterceptor.<init>(GrpcHeaderInterceptor.java:60)
    at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createSingleChannel(InstantiatingGrpcChannelProvider.java:220)
    at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createChannel(InstantiatingGrpcChannelProvider.java:193)
    at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.getTransportChannel(InstantiatingGrpcChannelProvider.java:185)
    at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:160)
    at com.google.cloud.kms.v1.stub.GrpcKeyManagementServiceStub.create(GrpcKeyManagementServiceStub.java:370)
    at com.google.cloud.kms.v1.stub.KeyManagementServiceStubSettings.createStub(KeyManagementServiceStubSettings.java:333)
    at com.google.cloud.kms.v1.KeyManagementServiceClient.<init>(KeyManagementServiceClient.java:155)
    at com.google.cloud.kms.v1.KeyManagementServiceClient.create(KeyManagementServiceClient.java:136)
    at com.google.cloud.kms.v1.KeyManagementServiceClient.create(KeyManagementServiceClient.java:127)
    at com.project.encryption.KmsEncryption.encrypt(KmsEncryption.java:38)
    at com.project.KmsEncryption.encrypt(KmsEncryption.java:21)

我希望這會返回編碼的字符串,因為命令行指令在相同的項目設置和配置下工作正常。

第 3 方庫的問題:

  java.lang.NoSuchMethodError:   com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V

讓我們嘗試查看 guava 依賴項。 對我來說,它已通過更新番石榴解決:

 <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>21.0</version>
</dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V 錯誤:: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V com.google.common.base.Preconditions.checkArgument(ZLjava /郎/字符串; CLjava /郎/對象;)V java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V 與 IE 和 Selenium 通過 Java 錯誤:原因:com.google.common.base.Preconditions.checkArgument(ZLjava / lang / String; Ljava / lang / Object;)V NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;J)V NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;) java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, java.lang.Object) java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument “main” java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, char, java.lang.Object)'
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM