150 votes

avertissement: les fichiers JAR d'exécution Kotlin dans le chemin d'accès aux classes doivent avoir la même version

Je reçois l'avertissement suivant, mais je ne suis pas sûr de l'endroit où réside la version 1.0.6.

Est-il possible que cette erreur vienne d'une bibliothèque Kotlin incluant une ancienne version de Kotlin?

Des idées pour résoudre ce problème ou du moins comment puis-je suivre la suggestion visant à rendre kotlin-reflect explicit (1.1)?

entrez la description de l'image ici

134voto

Alexander Udalov Points 76

Il semble que votre projet est configuré de telle manière que vous dépendent kotlin-stdlib 1.1 et kotlin-reflect 1.0. Il est probable que vous avez déjà une dépendance explicite sur kotlin-stdlib 1.1 mais n'ont pas de dépendance sur kotlin-reflect, et certains autres de la bibliothèque (dont vous dépendez) dépend kotlin-reflect 1.0.

Si c'est effectivement le cas, la solution est de formuler explicitement la dépendance de l' kotlin-reflect 1.1.

Dans Maven, ce ajouter pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-reflect</artifactId>
            <version>1.1.0</version>
        </dependency>
    </dependencies>

Dans Gradle, ajoutez ceci à build.gradle:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-reflect:1.1.0"
}

Voir quelques infos à ce sujet et d'avertissements à ce sujet dans les docs officielles.

34voto

V. Kalyuzhnyu Points 1515

J'ai corrigé l'avertissement en écrasant la version de Kotlin utilisée dans mon application

 configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'org.jetbrains.kotlin' && requested.name == 'kotlin-reflect') {
            details.useVersion kotlin_version
        }
    }
}
 

par exemple kotlin_version = 1.3.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X