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

时间:2017-03-16 19:42:37

标签: android kotlin android-gradle

我将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的:应用程序:未指定的

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

17 个答案:

答案 0 :(得分:105)

替换

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

由于带有jre的版本是绝对版本,因此只需替换并同步项目

官方文档here感谢您的链接@ ROMANARMY

快乐编码:)

答案 1 :(得分:25)

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

  

ext.kotlin_version ='1.1.1'

删除其他版本

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

答案 2 :(得分:19)

kotlin-stdlib拆分为kotlin-stdlib-jre7kotlin-stdlib-jre8仅在Kotlin 1.1中引入,这就是无法解决依赖关系的原因,包版本根本就不存在。

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

答案 3 :(得分:10)

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

ext.kotlin_version = '1.1.1'

///看起来像是:

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

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
    }
}

答案 4 :(得分:6)

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

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

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

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

答案 5 :(得分:4)

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()`enter code here`enter code here`
        maven { url "https://jitpack.io" }
    }
}

答案 6 :(得分:2)

如果您使用的是Android Studio 3.2,则是一个新的解决方案,我通过在项目的build.gradle中添加mavenCentral()解决了此问题:

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()
    }
}

您应按此顺序添加行,记入的是this answer

答案 7 :(得分:1)

这对我有用: 使用Gradle 4.8.1

buildscript {
    ext.kotlin_version = '1.1.1' 
repositories {
    jcenter()
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'}
}
allprojects {
    repositories {
        mavenLocal()
        jcenter()
        google()
        maven {
            url "$rootDir/../node_modules/react-native/android"
        }
    maven {
            url 'https://dl.bintray.com/kotlin/kotlin-dev/'
    }
  }
}   

答案 8 :(得分:1)

  1. 请在下面的路径中查看您的Kotlin的当前版本,

    C:\ Program Files \ Android \ Android Studio \ gradle \ m2repository \ org \ jetbrains \ kotlin \ kotlin-stdlib \ 1.0.5

  2. 在项目级gradle文件中更改为该版本(1.0.5)

    您可以在上面的路径中看到没有提到任何Java - jre version,因此请在您的应用级别gradle文件中删除,如下所示,

    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    

答案 9 :(得分:1)

如果您使用的是Android Studio 3.2及更高版本,则可以通过在项目的build.gradle中添加google()和jcenter()来解决此问题:

repositories {
        google()
        jcenter()
}

答案 10 :(得分:1)

build.gradle(项目)

buildScript {
    ...
    dependencies {
        ...
        classpath 'com.android.tools.build:gradle:4.0.0-rc01'
    }
} 

gradle / wrapper / gradle-wrapper.properties

...
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

某些库需要更新的gradle 。如:

androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"

GL

答案 11 :(得分:0)

我通过取消选择Settings

中的离线工作选项解决了此问题

enter image description here

答案 12 :(得分:0)

如果(传递)依赖项仍使用Kotlin库的jre变体,则可以借助解析策略强制使用jdk变体:

configurations.all {
    resolutionStrategy {
        eachDependency { DependencyResolveDetails details ->
            details.requested.with {
                if (group == "org.jetbrains.kotlin" && name.startsWith("kotlin-stdlib-jre")) {
                    details.useTarget(group: group, name: name.replace("jre", "jdk"), version: version)
                    details.because("Force use of 'kotlin-stdlib-jdk' in favor of deprecated 'kotlin-stdlib-jre'.")
                }
            }
        }
    }
}

答案 13 :(得分:0)

简单步骤:

  1. 单击文件>项目结构

  2. 单击依赖项>     查找并单击org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21(或您当前使用的任何版本)

  3. 在“详细信息”>“更新”部分下,单击[更新变量] [更新 依赖项]

  4. 点击确定

最好的问候

答案 14 :(得分:0)

修复build.gradle版本后,它开始工作 4.0.0至3.5.0

答案 15 :(得分:0)

重新加载sdk也许问题就解决了

答案 16 :(得分:0)

如果您在从 Github 拉取旧项目时遇到此错误。

  1. 新闻从 Refractor 迁移到 AndroidX

  2. 将行更改为 implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" instead.