在RCE漏洞之后,我最近通过sprint引导将其升级到2.6.6。然而,现在我的应用程序并没有以错误开始:
应用程序启动失败
描述:
试图调用不存在的方法。该尝试是在以下位置进行的: org.springframework.boot.SpringApplication.run(SpringApplication.java:301)
以下方法不存在:'void org.springframework.context.ConfigurableApplicationContext.setApplicationStartup(org.springframework.core.metrics.ApplicationStartup)‘’
调用方法的类org.springframework.boot.SpringApplication是从以下位置加载的:
jar:file:/Users/mahulivishal/.m2/repository/org/springframework/boot/spring-boot/2.6.6/spring-boot-2.6.6.jar!/org/springframework/boot/SpringApplication.class
被调用方法的类org.springframework.context.ConfigurableApplicationContext,可以从以下位置获得:
jar:file:/Users/mahulivishal/.m2/repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE.jar!/org/springframework/context/ConfigurableApplicationContext.class
从以下位置加载了被调用方法的类层次结构:
org.springframework.context.ConfigurableApplicationContext: file:/Users/mahulivishal/.m2/repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE.jar
操作:
更正应用程序的类路径,以便它包含类org.springframework.context.ConfigurableApplicationContext和org.springframework.boot.SpringApplication的兼容版本。
进程已完成,退出代码为%1
下面是我的pom.xml中的依赖项-
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
发布于 2022-05-09 07:55:26
我找到了解决办法。这里总共有两个问题:
5.2.5.RELEASE
兼容。
解决方案:为Zuul支持将spring-boot降级为2.4.12 (2.4.x),并将spring版本升级到5.3.18,以防止暴露于RCE漏洞。另外,使用3.0.1来实现春云上下文的不兼容性.删除spring上下文依赖项。
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.12</version>
<properties>
<java.version>11</java.version>
<log4j2.version>2.16.0</log4j2.version>
<spring.version>5.3.18</spring.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.12</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
https://stackoverflow.com/questions/72085721
复制相似问题