前两天下了一个demo,运行时候报了一个这样的错,特此记录一下。
先看下报的错。
java
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.5.21.
Searched in the following locations:
- https://jitpack.io/org/jetbrains/kotlin/kotlin-stdlib-jre7/1.5.21/kotlin-stdlib-jre7-1.5.21.pom
看到这个问题我先是想引用的lib找不到,那十有八九是因为墙的原因找不到源了,所以需要添加国内源。
java
allprojects {
repositories {
maven { url 'https://jitpack.io' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
jcenter()
mavenCentral()
}
}
在项目目录下的build.gradle下面加上了阿里云的源,但是还不行,我还试过加华为云也不行,报同样的错。
那么既然换成国内的源不行,那再看下问题,kotlin的包找不到,是不是kotlin的版本和我使用的gradle的版本不兼容导致的。然后我找了下以前运行成功的代码,从里面copy了一个配置。
java
buildscript {
ext.kotlin_version = '1.5.21'
repositories {
mavenCentral()
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
结果运行起来还是不行,跟原来报的错一模一样。鼓捣半天不成功这就很emo了。没办法,静下心来再看下报的错吧。关键找不到kotlin-stdlib-jre7:1.5.21。我比对了下以前引用的包,发现以前用的不是这个包,是长这个样子的,他的后面不带jre。那这没跑了,肯定是这个问题了,改完后就运行成功了。
java
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"