我正在努力为 springboot Rest api 设置wiremock,并使用 spring cloud 中的放心和 spring-cloud-starter-contract-stub-runner 。当我运行示例集成测试时,我遇到模块冲突错误
在 Rest Assured 的 GitHub 页面上找到了此解决方法。您可以用这个替换 Rest Assured 的依赖
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>5.1.1</version>
<scope>test</scope>
<exclusions><!-- https://www.baeldung.com/maven-version-collision -->
<exclusion>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-xml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>5.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>${restassured.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-xml</artifactId>
</exclusion>
</exclusions>
</dependency>
1 只需从 POM 文件中手动删除安心依赖即可。
2 添加到pom文件中
<dependency>
<groupId>com.epages</groupId>
<artifactId>restdocs-api-spec-restassured</artifactId>
<version>0.10.4</version>
</dependency>
3 Maven 清理
4 Maven编译
5 Maven - 重新加载(刷新)
Gradle 依赖项:
testImplementation('io.rest-assured:rest-assured:5.3.0') {
exclude group: 'org.apache.groovy', module: 'groovy'
exclude group: 'org.apache.groovy', module: 'groovy-xml'
}
groovy.lang.GroovyRuntimeException:模块版本冲突。模块 [groovy-xml 已在版本 4.0.6 中加载,而您正在尝试加载版本 3.0.19
implementation ("io.rest-assured:rest-assured") {
exclude group: "org.apache.groovy", module: "groovy"
exclude group: "org.apache.groovy", module: "groovy-xml"
}