Play项目(Java 8)兼容的WireMock版本及build.sbt依赖咨询
解决方案:Java 8 Play项目兼容WireMock配置
正确的SBT依赖配置
你之前的问题核心是依赖的groupId错误——WireMock 2.x的Java 8兼容版本迁移到org.wiremock组后,原com.github.tomakehurst下的对应依赖已停止维护发布。在build.sbt中添加以下配置即可解决依赖解析问题:
"org.wiremock" % "wiremock-jre8" % "2.35.2" % Test
问题原因拆解
- WireMock 3.x与Java 8不兼容:3.x系列最低要求Java 11,编译生成的class文件版本为55.0,而Java 8仅支持最高52.0版本的class文件,因此运行测试时会抛出版本不匹配错误。
- 旧groupId依赖已失效:WireMock在2.x后期将groupId从
com.github.tomakehurst迁移至org.wiremock,原groupId下的wiremock-jre8不再更新,Maven仓库中已无对应版本,导致依赖无法解析。
额外建议
2.35.2是WireMock支持Java 8的稳定版本之一,若需后续bug修复,可选择2.x系列中更高的wiremock-jre8版本(全系列2.x的wiremock-jre8均兼容Java 8)。- 测试时需注意WireMock的启动逻辑适配Play项目的测试生命周期,避免端口冲突或资源泄漏。
内容的提问来源于stack exchange,提问作者SimonNgMelbourne
相关产品推荐
相关产品推荐

