所以我的项目有点问题,在尝试启动 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>