1

https://codelabs.developers.google.com/codelabs/cloud-bookshelf-java-cloud-kms/index.html#0

下载其他 Bookshelf 应用程序文件后出现以下错误(步骤 7)

[错误] 无法在项目 bookshelf-3 上执行目标 org.eclipse.jetty:jetty-maven-plugin:9.3.8.v20160314:run-exploded (default-cli):执行目标 org.eclipse.jetty 的 default-cli :jetty-maven-plugin:9.3.8.v20160314:run-exploded failed: 执行 org.eclipse.jetty:jetty-maven-plugin:9.3.8.v20160314:run-exploded: java.lang 时遇到 API 不兼容.NoSuchMethodError: com.google.cloud.ServiceOptions.(Ljava/lang/Class;Ljava/lang/Class;Lcom/google/cloud/ServiceOptions$Builder;Lcom/google/cloud/ServiceDefaults;)

https://codelabs.developers.google.com/codelabs/cloud-bookshelf-java-cloud-kms/index.html#0

4

1 回答 1

1

就像 Tim 提到的那样,您收到此错误是因为该 codelab 当前正在指示用户下载旧版本的 KMS 库 (v1beta1)。对于google-api-services-cloudkms版本为v1beta1-rev1-1.22.0.

要解决此问题,请编辑存储桶中的 pom.xml 文件以指向当前 v1 版本,您可以在此处找到当前版本:https ://mvnrepository.com/artifact/com.google.apis/google-api-服务-cloudkms。在我写这篇文章的时候,它的v1-rev41-1.23.0.

当前的:

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-cloudkms</artifactId>
  <version>v1beta1-rev1-1.22.0</version>
</dependency>

使固定

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-cloudkms</artifactId>
  <version>v1-rev41-1.23.0</version>
</dependency>

您还需要解析 src/main/java/com/example/getstarted/util/CloudKeyManagementServiceHelper.java 中的所有 v1beta1 引用

有关如何使用 Google Cloud KMS Java 的更多信息和指南,我建议查看我们的java 示例

谢谢

于 2018-03-26T19:14:58.530 回答