Google cloud platform .NoSuchMethodError:从GCP存储获取Blob时发生io.opencensus.trace.Span.addMessageEvent

Google cloud platform .NoSuchMethodError:从GCP存储获取Blob时发生io.opencensus.trace.Span.addMessageEvent,google-cloud-platform,google-cloud-storage,google-cloud-billing,Google Cloud Platform,Google Cloud Storage,Google Cloud Billing,这是我对问题的跟踪:- SEVERE: Unhandled exception java.lang.NoSuchMethodError: io.opencensus.trace.Span.addMessageEvent(Lio/opencensus/trace/MessageEvent;)V at com.google.api.client.http.OpenCensusUtils.recordMessageEvent(OpenCensusUtils.java:222) at

这是我对问题的跟踪:-

 SEVERE: Unhandled exception
java.lang.NoSuchMethodError: io.opencensus.trace.Span.addMessageEvent(Lio/opencensus/trace/MessageEvent;)V
    at com.google.api.client.http.OpenCensusUtils.recordMessageEvent(OpenCensusUtils.java:222)
    at com.google.api.client.http.OpenCensusUtils.recordSentMessageEvent(OpenCensusUtils.java:190)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:994)
    at com.google.auth.oauth2.ServiceAccountCredentials.refreshAccessToken(ServiceAccountCredentials.java:429)
    at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:157)
    at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:145)
    at com.google.auth.http.HttpCredentialsAdapter.initialize(HttpCredentialsAdapter.java:91)
    at com.google.cloud.http.HttpTransportOptions$1.initialize(HttpTransportOptions.java:159)
    at com.google.cloud.http.CensusHttpModule$CensusHttpRequestInitializer.initialize(CensusHttpModule.java:109)
    at com.google.api.client.http.HttpRequestFactory.buildRequest(HttpRequestFactory.java:88)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:300)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
    at com.google.cloud.storage.spi.v1.HttpStorageRpc.get(HttpStorageRpc.java:436)
    at com.google.cloud.storage.StorageImpl$5.call(StorageImpl.java:244)
    at com.google.cloud.storage.StorageImpl$5.call(StorageImpl.java:241)
    at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
    at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
    at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
    at com.google.cloud.storage.StorageImpl.get(StorageImpl.java:240)
    at com.google.cloud.storage.StorageImpl.get(StorageImpl.java:258)
  +- com.google.apis:google-api-services-compute:jar:beta-rev91-1.23.0:compile
[INFO] |  \- com.google.api-client:google-api-client:jar:1.23.0:compile
[INFO] |     +- com.google.oauth-client:google-oauth-client:jar:1.23.0:compile
[INFO] |     \- com.google.http-client:google-http-client-jackson2:jar:1.23.0:compile
[INFO] |        \- com.fasterxml.jackson.core:jackson-core:jar:2.1.3:compile
[INFO] +- com.infiverve.flint.sdk:flint-sdk:jar:5.0.0.0:provided
[INFO] +- com.google.guava:guava:jar:28.1-jre:compile
[INFO] |  +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] |  +- org.checkerframework:checker-qual:jar:2.8.1:compile
[INFO] |  +- com.google.errorprone:error_prone_annotations:jar:2.3.2:compile
[INFO] |  +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
[INFO] |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
[INFO] \- com.google.cloud:google-cloud-storage:jar:1.102.0:compile
[INFO]    +- com.google.cloud:google-cloud-core-http:jar:1.91.3:compile
[INFO]    |  +- com.google.cloud:google-cloud-core:jar:1.91.3:compile
[INFO]    |  |  +- com.google.protobuf:protobuf-java-util:jar:3.10.0:compile
[INFO]    |  |  +- com.google.api.grpc:proto-google-common-protos:jar:1.17.0:compile
[INFO]    |  |  +- com.google.api.grpc:proto-google-iam-v1:jar:0.13.0:compile
[INFO]    |  |  +- org.threeten:threetenbp:jar:1.3.3:compile
[INFO]    |  |  \- com.google.protobuf:protobuf-java:jar:3.10.0:compile
[INFO]    |  +- com.google.auth:google-auth-library-credentials:jar:0.18.0:compile
[INFO]    |  +- com.google.auth:google-auth-library-oauth2-http:jar:0.18.0:compile
[INFO]    |  |  \- com.google.auto.value:auto-value-annotations:jar:1.6.6:compile
[INFO]    |  +- com.google.http-client:google-http-client:jar:1.32.1:compile
[INFO]    |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.10:compile
[INFO]    |  |  |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO]    |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
[INFO]    |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.12:compile
[INFO]    |  +- com.google.http-client:google-http-client-appengine:jar:1.32.1:compile
[INFO]    |  +- com.google.api:gax:jar:1.49.1:compile
[INFO]    |  +- com.google.api:gax-httpjson:jar:0.66.1:compile
[INFO]    |  |  \- com.google.code.gson:gson:jar:2.8.5:compile
[INFO]    |  +- io.opencensus:opencensus-api:jar:0.24.0:compile
[INFO]    |  |  \- io.grpc:grpc-context:jar:1.22.1:compile
[INFO]    |  +- io.opencensus:opencensus-contrib-http-util:jar:0.24.0:compile
[INFO]    |  \- com.google.api:api-common:jar:1.8.1:compile
[INFO]    |     \- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO]    \- com.google.apis:google-api-services-storage:jar:v1-rev20190910-1.30.3:compile
这是我的依赖关系树:-

 SEVERE: Unhandled exception
java.lang.NoSuchMethodError: io.opencensus.trace.Span.addMessageEvent(Lio/opencensus/trace/MessageEvent;)V
    at com.google.api.client.http.OpenCensusUtils.recordMessageEvent(OpenCensusUtils.java:222)
    at com.google.api.client.http.OpenCensusUtils.recordSentMessageEvent(OpenCensusUtils.java:190)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:994)
    at com.google.auth.oauth2.ServiceAccountCredentials.refreshAccessToken(ServiceAccountCredentials.java:429)
    at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:157)
    at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:145)
    at com.google.auth.http.HttpCredentialsAdapter.initialize(HttpCredentialsAdapter.java:91)
    at com.google.cloud.http.HttpTransportOptions$1.initialize(HttpTransportOptions.java:159)
    at com.google.cloud.http.CensusHttpModule$CensusHttpRequestInitializer.initialize(CensusHttpModule.java:109)
    at com.google.api.client.http.HttpRequestFactory.buildRequest(HttpRequestFactory.java:88)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:300)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
    at com.google.cloud.storage.spi.v1.HttpStorageRpc.get(HttpStorageRpc.java:436)
    at com.google.cloud.storage.StorageImpl$5.call(StorageImpl.java:244)
    at com.google.cloud.storage.StorageImpl$5.call(StorageImpl.java:241)
    at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
    at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
    at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
    at com.google.cloud.storage.StorageImpl.get(StorageImpl.java:240)
    at com.google.cloud.storage.StorageImpl.get(StorageImpl.java:258)
  +- com.google.apis:google-api-services-compute:jar:beta-rev91-1.23.0:compile
[INFO] |  \- com.google.api-client:google-api-client:jar:1.23.0:compile
[INFO] |     +- com.google.oauth-client:google-oauth-client:jar:1.23.0:compile
[INFO] |     \- com.google.http-client:google-http-client-jackson2:jar:1.23.0:compile
[INFO] |        \- com.fasterxml.jackson.core:jackson-core:jar:2.1.3:compile
[INFO] +- com.infiverve.flint.sdk:flint-sdk:jar:5.0.0.0:provided
[INFO] +- com.google.guava:guava:jar:28.1-jre:compile
[INFO] |  +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] |  +- org.checkerframework:checker-qual:jar:2.8.1:compile
[INFO] |  +- com.google.errorprone:error_prone_annotations:jar:2.3.2:compile
[INFO] |  +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
[INFO] |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
[INFO] \- com.google.cloud:google-cloud-storage:jar:1.102.0:compile
[INFO]    +- com.google.cloud:google-cloud-core-http:jar:1.91.3:compile
[INFO]    |  +- com.google.cloud:google-cloud-core:jar:1.91.3:compile
[INFO]    |  |  +- com.google.protobuf:protobuf-java-util:jar:3.10.0:compile
[INFO]    |  |  +- com.google.api.grpc:proto-google-common-protos:jar:1.17.0:compile
[INFO]    |  |  +- com.google.api.grpc:proto-google-iam-v1:jar:0.13.0:compile
[INFO]    |  |  +- org.threeten:threetenbp:jar:1.3.3:compile
[INFO]    |  |  \- com.google.protobuf:protobuf-java:jar:3.10.0:compile
[INFO]    |  +- com.google.auth:google-auth-library-credentials:jar:0.18.0:compile
[INFO]    |  +- com.google.auth:google-auth-library-oauth2-http:jar:0.18.0:compile
[INFO]    |  |  \- com.google.auto.value:auto-value-annotations:jar:1.6.6:compile
[INFO]    |  +- com.google.http-client:google-http-client:jar:1.32.1:compile
[INFO]    |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.10:compile
[INFO]    |  |  |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO]    |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
[INFO]    |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.12:compile
[INFO]    |  +- com.google.http-client:google-http-client-appengine:jar:1.32.1:compile
[INFO]    |  +- com.google.api:gax:jar:1.49.1:compile
[INFO]    |  +- com.google.api:gax-httpjson:jar:0.66.1:compile
[INFO]    |  |  \- com.google.code.gson:gson:jar:2.8.5:compile
[INFO]    |  +- io.opencensus:opencensus-api:jar:0.24.0:compile
[INFO]    |  |  \- io.grpc:grpc-context:jar:1.22.1:compile
[INFO]    |  +- io.opencensus:opencensus-contrib-http-util:jar:0.24.0:compile
[INFO]    |  \- com.google.api:api-common:jar:1.8.1:compile
[INFO]    |     \- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO]    \- com.google.apis:google-api-services-storage:jar:v1-rev20190910-1.30.3:compile
我在这行代码中发现了这个问题:-

Storage storage = StorageOptions.newBuilder()
                   .setCredentials(ServiceAccountCredentials.fromStream(credentialsInputStream))
                        .setProjectId(flintRequestProjectID)
                        .build().getService();
Blob blob = storage.get(BlobId.of(billingBucketName, billingFileName)); <- (!!THis line of code!!)
Storage Storage=StorageOptions.newBuilder()
.setCredentials(ServiceAccountCredentials.fromStream(credentialsInputStream))
.setProjectId(flintRequestProjectID)
.build().getService();

Blob Blob=storage.get(BlobId.of(billingBucketName,billingFileName));我认为这可能是一个不匹配的库版本问题。是一个类似的案例,可以解决您的问题。否则你也可以研究一下。让我知道它是否对你有用。@NibrassHaider谢谢你的帮助!但是你建议的这些场景不符合我的。本期文章中提到的类位于“OpenCensusAPI”库中,我使用了排除法在依赖项中获得了正确的版本,但这个问题仍然存在。此外,这个谷歌云存储依赖项正在使用这个库,默认情况下在maven repo中安装2个不同版本的库。如果您有任何其他的解决方案,我们将不胜感激。您提到的导致错误的那一行可能是因为变量存储的定义不正确。尝试这样做。错误原因被确定为NoSuchModError的原因,该错误是由于未能找到OpenCensus库中io.opencus.trace包的子文件Span.java的方法而导致的。请参阅应用程序上的“将更改添加到项目”部分。将以下内容添加到pom.xml后,请告诉我它是否适用于您。我认为这可能是库版本不匹配的问题。是一个类似的案例,可以解决您的问题。否则你也可以研究一下。让我知道它是否对你有用。@NibrassHaider谢谢你的帮助!但是你建议的这些场景不符合我的。本期文章中提到的类位于“OpenCensusAPI”库中,我使用了排除法在依赖项中获得了正确的版本,但这个问题仍然存在。此外,这个谷歌云存储依赖项正在使用这个库,默认情况下在maven repo中安装2个不同版本的库。如果您有任何其他的解决方案,我们将不胜感激。您提到的导致错误的那一行可能是因为变量存储的定义不正确。尝试这样做。错误原因被确定为NoSuchModError的原因,该错误是由于未能找到OpenCensus库中io.opencus.trace包的子文件Span.java的方法而导致的。请参阅应用程序上的“将更改添加到项目”部分。在将以下内容添加到pom.xml之后,让我知道它是否适用于您。