Stackdriver отслеживает nosuchmethoderror при использовании 'google-api-services-compute' - PullRequest
0 голосов
/ 09 января 2020

Ошибка приложения java, использующего клиент мониторинга Stackdriver, когда у меня есть зависимость от google-api-services-compute.

исключение:

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:155)
        at com.google.cloud.monitoring.v3.stub.GrpcMetricServiceStub.create(GrpcMetricServiceStub.java:176)
        at com.google.cloud.monitoring.v3.stub.MetricServiceStubSettings.createStub(MetricServiceStubSettings.java:188)
        at com.google.cloud.monitoring.v3.MetricServiceClient.<init>(MetricServiceClient.java:157)
        at com.google.cloud.monitoring.v3.MetricServiceClient.create(MetricServiceClient.java:138)
        at com.google.cloud.monitoring.v3.MetricServiceClient.create(MetricServiceClient.java:129)
        at com.vmware.adapter3.gcp.builder.GoogleCloudMonitoringManager.testGoogleCloudMonitoringConnection(GoogleCloudMonitoringManager.java:356)

для метода создания: MetricServiceClient metricServiceClient = MetricServiceClient.create ();

только когда зависимости Maven:

 <dependency>
     <groupId>com.google.code.gson</groupId>
     <artifactId>gson</artifactId>
     <version>${project.gson.version}</version>
</dependency>
<dependency>
  <groupId>com.google.http-client</groupId>
  <artifactId>google-http-client-jackson2</artifactId>
  <version>${project.http.version}</version>
</dependency>
<dependency>
  <groupId>com.google.oauth-client</groupId>
  <artifactId>google-oauth-client-jetty</artifactId>
  <version>${project.oauth.version}</version>
</dependency>
<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-compute</artifactId>
  <version>v1-rev158-1.23.0</version>
</dependency>
 <dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-storage</artifactId>
  <version>v1-rev158-1.25.0</version>
</dependency>
  <dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-monitoring</artifactId>
      <version>1.98.0</version>

Пожалуйста, помогите мне выйти из этой проблемы.

1 Ответ

0 голосов
/ 13 января 2020

Похоже, проблема заключается в названии функции в нижнем регистре «create»: оно должно начинаться с строчной буквы «C», то есть «Create», как в « MetricServiceClient.Create () ».

...