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