gpt4 book ai didi

maven - spring boot starter test 1.4.1 - 使用assertj-core 3.5.x

转载 作者:行者123 更新时间:2023-12-05 01:20:14 25 4
gpt4 key购买 nike

我想为 Java8 使用最新的 assertj-core(例如断言可选)。
我使用 spring-boot-starter-test 1.4.1,它带有预先配置的 assertj 2.5.0。

我不能使用 spring boot 父 pom。

如何设置我的 maven 项目,以便使用 3.5.2 排除或覆盖 2.5.0 版本?我试过

  • 仅设置属性 assertj.version
  • starter-test dependency 上添加排除项
  • spring-boot-dependencies 上添加排除项

  • 更新:

    我正在为我的多模块项目中的所有模块设置一个自定义“测试”模块。我不仅需要 spring-test-starter,还需要一些其他依赖项和一些测试类和规则。

    这是我的项目的样子:
    my-module-root
    |-my-module-a (using test)
    |-my-module-b (using test)
    \-test (including starter-test, ... - in COMPILE scope (because this is a test library))

    现在,当我在测试模块(并包括 3.5.2)上排除 assertj-core 时,测试模块的依赖关系就可以了。
    但是当我检查根级别的依赖关系时,我在类路径上同时拥有 assertj-core-2.5.0 和 assertj-core-3.5.2 。

    最佳答案

    您可以将其从 spring-boot-starter-test 中排除然后手动添加不同的版本:

    <dependencies>
    ...
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
    <exclusion>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>3.5.2</version>
    <scope>test</scope>
    </dependency>
    </dependencies>

    要验证包含哪个版本:
    $ mvn dependency:tree | grep assertj
    [INFO] \- org.assertj:assertj-core:jar:3.5.2:test

    关于maven - spring boot starter test 1.4.1 - 使用assertj-core 3.5.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40496407/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com