Kotlin错误:找不到org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7

Mik*_*679 82 android kotlin android-gradle-plugin

我将Kotlin插件安装到我的应用程序(v.v1.1.1-release-Studio2.2-1)中,然后选择"在项目中配置Kotlin"我选择了1.0.7的编译器和运行时版本.Kotlin更新了我的Gradle文件.现在,当我尝试构建时,我得到:

错误:配置项目':app'时出现问题.无法解析配置':app:_debugApkCopy'的所有依赖项.找不到org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7.要求:

所有MyApplication:应用程序:未指定

我不确定我在这里缺少什么.

leo*_*tin 134

更换

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)

由于具有jre的版本是绝对的,只需替换和同步项目

官方文档在这里感谢@ ROMANARMY链接

快乐编码:)

  • 我花了整整一分钟的时间凝视着`jre`和`jdk`之间的区别-我一定要老了。 (5认同)

kdb*_*lue 32

如果您此后从 Gradle 中删除 Jcenter,请将其添加到您的 gradle 中

repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }



allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以要点是, 在 gradle 中添加mavenCentral()andmaven { url "https://jitpack.io" }

  • 谢谢。我只需要 `mavenCentral()` (替换 `jcenter()`) (2认同)

Pat*_*kal 29

在项目级别build.gradle仅使用此版本

ext.kotlin_version ='1.1.1'

删除其他版本

编辑:这只适用于Android Studio 2.X

  • 一个指定魔术版本的答案,没有任何解释,并不是那么有用,随着时间的推移变得更有帮助.您是否建议从较低版本升级?或者从较高版本降级,因为较高版本有错误? (20认同)
  • @DonHatch这个答案在3月份给了android studio 2.2,这个问题在上面提到错误.它不适用于android studio 3.0或更高版本. (3认同)

小智 20

分裂kotlin-stdlibkotlin-stdlib-jre7kotlin-stdlib-jre8仅在Kotlin 1.1中引入,这就是为什么依赖无法解决,包版本根本就不存在.

看起来您的项目文件更新在某些时候失败,并将Kotlin版本设置为1.0.7.如果这是一个新项目,并且没有什么阻止你使用1.1.1,我会切换到那个.这样做之后你的问题就应该消失了.

  • 谢谢你的解释.几个答案说使用1.1.1没有解释,这将使得答案在未来迅速变得无用. (3认同)

Mih*_*ari 11

在"build.gradle"文件中,更改该行的当前Kotlin版本并按下synk:

ext.kotlin_version = '1.1.1'
Run Code Online (Sandbox Code Playgroud)

///看起来像:

//顶级构建文件,您可以在其中添加所有子项目/模块共有的配置选项.

buildscript {
    ext.kotlin_version = '1.1.1'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
Run Code Online (Sandbox Code Playgroud)


Moh*_*waf 9

如果您使用 Android Studio 3.2 的新解决方案,我通过将 mavenCentral() 添加到项目的 build.gradle 解决了这个问题:

buildscript {
    ext.kotlin_version = '1.3.0'
    repositories {
        mavenCentral()
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

您应该按此顺序添加该行,此答案的功劳


0xA*_*iHn 8

从Kotlin 1.1.2开始,org.jetbrains.kotlin默认情况下使用从应用插件中获取的版本来解析与组的依赖关系.您可以使用完整的依赖项表示法手动提供版本,例如:

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)

如果您的目标是JDK 7或JDK 8,则可以使用Kotlin标准库的扩展版本,其中包含在新JDK版本中添加的API的其他扩展功能.而不是kotlin-stdlib,使用以下依赖项之一:

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
Run Code Online (Sandbox Code Playgroud)


chi*_*dla 5

buildscript {
    **ext.kotlin_version = '1.1.1'**  //Add this line
    repositories {
        **jcenter()**                 //Add this line
        google()
    }
    dependencies {
//        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.android.tools.build:gradle:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        **jcenter()**                 //Add this line
        google()
        maven { url "https://jitpack.io" }
    }
}
Run Code Online (Sandbox Code Playgroud)