将 GCP Secret Manager SDK 添加到 Maven 会导致“{Type} 无法访问”错误

问题描述 投票:0回答:1

代码链接:https://github.com/phillipshaong/java-gcp-secrets-manager-test/tree/main

我想将 Google Cloud Platform (GCP) Secrets Manager 客户端添加到我的 Java 应用程序 (https://cloud.google.com/secret-manager/docs/reference/libraries)。我按照指示将依赖项添加到我的

pom.xml
文件中:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.23.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-secretmanager</artifactId>
  </dependency>

并将模块添加到我的

module-info.java
文件中:

requires google.cloud.secretmanager;

当我按照指示导入课程时:

import com.google.cloud.secretmanager.v1.AccessSecretVersionResponse;
import com.google.cloud.secretmanager.v1.ProjectName;
import com.google.cloud.secretmanager.v1.Replication;
import com.google.cloud.secretmanager.v1.Secret;
import com.google.cloud.secretmanager.v1.SecretManagerServiceClient; //works
import com.google.cloud.secretmanager.v1.SecretPayload;
import com.google.cloud.secretmanager.v1.SecretVersion;
import com.google.protobuf.ByteString;

只有

import com.google.cloud.secretmanager.v1.SecretManagerServiceClient;
导入成功,所有其他类都没有成功,给我错误:
The type com.google.cloud.secretmanager.v1.{Class} is not accessible)

这是我的最低限度可重现的代码。 https://github.com/phillipshaong/java-gcp-secrets-manager-test/tree/main

java maven google-secret-manager
1个回答
0
投票

目前,库

google.cloud.secretmanager
不支持导入
module-info.java
。适用于 Secret Manager 的 Cloud Java SDK 不适用于模块化项目。当前已知的解决方法是重新打包 JAR 文件。请参阅线程:https://github.com/googleapis/google-cloud-java/issues/10975

© www.soinside.com 2019 - 2024. All rights reserved.