Spring Boot启动报错:调用不存在方法(Maven依赖问题)
Spring Boot启动报错:方法不存在(依赖版本不兼容)
启动Spring Boot应用时出现如下报错:
An attempt was made to call a method that does not exist. The attempt was made from the following location: com.google.cloud.logging.v2.stub.LoggingServiceV2StubSettings$Builder.createDefault(LoggingServiceV2StubSettings.java:634) The following method did not exist: 'com.google.api.gax.rpc.StubSettings$Builder com.google.cloud.logging.v2.stub.LoggingServiceV2StubSettings$Builder.setMtlsEndpoint(java.lang.String)' The method's class, com.google.cloud.logging.v2.stub.LoggingServiceV2StubSettings$Builder, is available from the following locations: jar:file:/home/mantes/.m2/repository/com/google/cloud/google-cloud-logging/2.3.2/google-cloud-logging-2.3.2.jar!/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings$Builder.class The class hierarchy was loaded from the following locations: com.google.cloud.logging.v2.stub.LoggingServiceV2StubSettings.Builder: file:/home/mantes/.m2/repository/com/google/cloud/google-cloud-logging/2.3.2/google-cloud-logging-2.3.2.jar com.google.api.gax.rpc.StubSettings.Builder: file:/home/sebastian/.m2/repository/com/google/api/gax/1.54.0/gax-1.54.0.jar Action: Correct the classpath of your application so that it contains a single, compatible version of com.google.cloud.logging.v2.stub.LoggingServiceV2StubSettings$Builder
经排查,问题根源大概率是:
- 库版本不兼容
- 库重复引入
这两类问题都和Maven的POM配置直接相关。已尝试过删除.m2目录、排查并排除重复依赖,均未解决;打包成Docker镜像运行后问题依然存在。
项目POM关键配置如下:
<properties> <java.version>17</java.version> <google-cloud.version>19.2.1</google-cloud.version> </properties> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-logging</artifactId> <version>2.3.2</version> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-storage</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>${google-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
解决方法
移除google-cloud-logging依赖中的指定版本,让BOM统一管理版本后,问题得以解决。
内容的提问来源于stack exchange,提问作者Mantes
相关产品推荐
相关产品推荐

