spring3com.microsoft.azure.telemetry.TelemetrySender和org.springframework.http.ResponseEntity中的版本不兼容

k3bvogb1  于 2023-04-11  发布在  Spring
关注(0)|答案(1)|浏览(116)

应用程序启动失败
说明:
试图调用不存在的方法。尝试是从以下位置进行的:

com.microsoft.azure.telemetry.TelemetrySender.sendTelemetryData(TelemetrySender.java:58)

以下方法不存在:

'org.springframework.http.HttpStatus org.springframework.http.ResponseEntity.getStatusCode()'

调用方法的类com.microsoft.azure.telemetry.TelemetrySender是从以下位置加载的:

jar:file:/home/spiritbear/.m2/repository/com/microsoft/azure/azure-spring-boot/2.2.1/azure-spring-boot-2.2.1.jar!/com/microsoft/azure/telemetry/TelemetrySender.class

被调用方法的类org.springframework. http.ResponseEntity可从以下位置获得:

jar:file:/home/spiritbear/.m2/repository/org/springframework/spring-web/6.0.3/spring-web-6.0.3.jar!/org/springframework/http/ResponseEntity.class

已从以下位置加载被调用方法的类层次结构:

org.springframework.http.ResponseEntity: file:/home/spiritbear/.m2/repository/org/springframework/spring-web/6.0.3/spring-web-6.0.3.jar
org.springframework.http.HttpEntity: file:/home/spiritbear/.m2/repository/org/springframework/spring-web/6.0.3/spring-web-6.0.3.jar

行动:
更正应用程序的类路径,使其包含com.microsoft.azure.telemetry.TelemetrySender和org.springframework.http.ResponseEntity类的兼容版本
解决这个冲突

vktxenjb

vktxenjb1#

azure sdk已经迁移,因此您需要在pom.xml中添加以下依赖项。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>5.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

另外,添加以下启动器

<dependency>
  <groupId>com.azure.spring</groupId>
  <artifactId>spring-cloud-azure-starter-keyvault</artifactId>
</dependency>

这应该可以解决你的问题。我在将一个基于Azure的Sping Boot 项目从Spring 5.x迁移到Spring 6.x时遇到了类似的问题。

相关问题