升级到Spring Boot 3时出现wiremock问题

Vin*_*t F 23 spring-boot wiremock

将 Spring Boot 2.5 升级到 3.0 时,我遇到了 Wiremock 的一些问题,可能是由于迁移到 jakarta 命名空间所致。即使升级到最新的wiremock-jre8ie 2.35.0(截至 2022 年 12 月)似乎也没有帮助。我收到此错误:

java.lang.NoClassDefFoundError: javax/servlet/DispatcherType

    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:375)
    at com.github.tomakehurst.wiremock.jetty9.JettyHttpServerFactory.getServerConstructor(JettyHttpServerFactory.java:37)
    at com.github.tomakehurst.wiremock.jetty9.JettyHttpServerFactory.<clinit>(JettyHttpServerFactory.java:30)
Run Code Online (Sandbox Code Playgroud)

Vin*_*t F 29

看起来这是一个与 jakarta 命名空间和 Jetty 11 支持相关的已知问题,需要一段时间才能正确修复:

https://github.com/wiremock/wiremock/issues/1760

如问题中所示,使用 wiremock-jre8-standalone代替有助于wiremock-jre8解决问题,直到它在 Wiremock 3.x 中得到正确修复

编辑,2023 年 10 月:这些现已可用并且应该有所帮助: