Sobes.tech
Junior — Middle

Come risolvi il conflitto di dipendenze quando usi spring-boot-starter-test?

sobes.tech AI

Risposta dell'AI

I conflitti di dipendenza nell'uso di spring-boot-starter-test spesso derivano da versioni incompatibili delle librerie che vengono portate transitivamente. Per risolverli, si può:

  • Specificare esplicitamente le versioni delle dipendenze in conflitto in pom.xml o build.gradle, usando <dependencyManagement> o dependencyConstraints.
  • Escludere le dipendenze transitivamente indesiderate tramite <exclusions> in Maven o exclude in Gradle.
  • Utilizzare il comando mvn dependency:tree o gradle dependencies per analizzare l'albero delle dipendenze e individuare i conflitti.

Esempio di esclusione di una dipendenza in Maven:

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

In questo modo, si può controllare le versioni e escludere le librerie in conflitto.