模块版本冲突。模块 [groovy-xml 已在版本 4.x.x 中加载,而您正在尝试加载版本 3.x.x

问题描述 投票:0回答:6

我正在努力为 springboot Rest api 设置wiremock,并使用 spring cloud 中的放心和 spring-cloud-starter-contract-stub-runner 。当我运行示例集成测试时,我遇到模块冲突错误

spring-cloud rest-assured wiremock
6个回答
4
投票

在 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>

放心的 Github 页面


3
投票
  1. 检查 pom 文件的依赖关系树。错误的原因是您的类路径中有两个版本不同的常规库,这导致了冲突
  2. 一个来自rest-assured依赖,另一个来自spring-cloud-starter-contract-stub-runner依赖
  3. 解决方案是删除放心并将其替换为restdocs-api-spec-restassured依赖项。这样您就可以放心使用而无需额外的 groovy 依赖 。你的类路径将只有 1 个来自 spring-cloud-starter-contract-stub-runner 依赖项的 groovy

1
投票
<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>

0
投票

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 - 重新加载(刷新)


0
投票

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'
}

0
投票

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"
}
© www.soinside.com 2019 - 2024. All rights reserved.