当前位置: 首页 > 知识库问答 >
问题:

警告“Kotlin插件版本与库版本不同”(但确实如此!)

融烨磊
2023-03-14
buildscript {
    ext.kotlin_version = '1.2.40'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

堆芯/建造。梯度

apply plugin: 'java-library'
apply plugin: 'kotlin'

dependencies { 
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
    ...
}

app/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android { ... }

dependencies {
    implementation project(':core')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:appcompat-v7:27.1.1'

    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    testImplementation 'junit:junit:4.12'
}

我遇到的问题是,在core/build.gradle中,kotlin-stdlib-jdk7行向我发出警告插件版本(1.2.40)与库版本(jdk7-1.2.40)不同。我已经尝试将其更改为:

实现“org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version”

但警告仍在。构建仍然成功地运行,我知道我可以没有任何问题地处理警告并忽略它,但我真的想知道为什么会发生这种情况以及如何摆脱它。我使用的是Android Studio 3.0.1。有人知道解决这个问题的办法吗?

共有1个答案

宗政权
2023-03-14

从Kotlin1.4依赖于默认添加的标准库开始:

您不再需要在任何Kotlin Gradle项目(包括多平台项目)中声明对stdlib库的依赖项。默认情况下添加依赖项。

自动添加的标准库将是相同版本的Kotlin Gradle插件,因为他们有相同的版本。

 类似资料:
  • 我有一个Android studio项目,其中添加了一个Java库模块,我称之为。我的三个Gradle构建文件如下所示。 项目/build.gradle 核心/build.gradle App/build.gradle 我的问题是,在中,行给了我警告不一样。我曾尝试将其更改为: 但警告仍然存在。构建仍然成功运行,我知道我可以毫无问题地超越警告并忽略它,但我真的想知道为什么会发生这种情况,以及如何摆

  • 我想在这里对蒂姆的回答发表评论(https://stackoverflow.com/a/1172805/1746310)但因为我的声誉,我不能,我写了它作为回答,说我想发表评论,但因为我的声誉,我不能。这条消息后来被ChrisF删除了(https://stackoverflow.com/users/59303/chrisf)说这不是答案,我应该写一条评论。。。我找不到这个词。 不管怎样,这就是我所

  • 我最近在启动JavaFX应用程序时开始注意到以下警告: java版本:1.8.0_72-internal javafx.version:8.0.60 那么,看起来JDK中的JavaFX版本是错误的?或者我有一个旧的jfxrt.jar?我会调查的。

  • 问题内容: 我最近将Debian 5.0.4服务器上的MySQL升级到了5.1。现在,phpMyAdmin显示以下警告: 可能会引起任何问题吗? 问题答案: 该消息表明: 您正在使用 MySQL服务器的5.1.43版本 但是, PHP 用于与该服务器通信的 库 已被编译为与MySQL 5.0.x版本 通信。 从理论上讲, 这不会引起任何实际的问题 :次要版本倾向于兼容;但是您可能需要更新PHP使用

  • 附:每次我做了同步&然后重建项目,但错误再次发生

  • 我有: 但我总是得到: 组织。喷气式飞机。kotlin/kotlin js library/1.1-M04/ef6b315dbb89927eb72fbce262ba3a74dc1ebcb5/kotlin-js-library-1.1-M04。jar'是用不兼容的Kotlin版本编译的。其元数据的二进制版本是6.0。0,预期版本为1.0。1. 我想要两个最新的。我想?还是一个落后于另一个?

  • 生成失败: 有问题的进口陈述: 如前所述,删除影子导入将提供一个干净的构建和运行。如何使影子插件JAR可供Kotlin导入? Gradle本身使用DSL创建了Shadow JAR。 从不同的角度来看: Kotlin 遇见 Gradle: gradle.build.kt with ShadowJar 使用工作构建文件。