Sobes.tech
Junior — Middle

Jak řešíš konflikt závislostí při používání spring-boot-starter-test?

sobes.tech AI

Odpověď od AI

Konflikty závislostí při používání spring-boot-starter-test často vznikají kvůli nekompatibilním verzím knihoven, které jsou přenášeny transitivně. Jejich odstranění lze dosáhnout takto:

  • Výslovně určit verze konfliktujících závislostí v pom.xml nebo build.gradle, pomocí <dependencyManagement> nebo dependencyConstraints.
  • Vyloučit nežádoucí transitivní závislosti přes <exclusions> v Maven nebo exclude v Gradle.
  • Použít příkaz mvn dependency:tree nebo gradle dependencies pro analýzu stromu závislostí a identifikaci konfliktů.

Příklad vyloučení závislosti v Maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <exclusions>
        <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Tímto způsobem lze kontrolovat verze a vyloučit konfliktní knihovny.