Gradle初始化多模块Kotlin项目遇javaslang.λ类找不到错误求助
解决Gradle多项目构建偶发java.lang.NoClassDefFoundError: javaslang.λ问题
针对你遇到的偶发java.lang.NoClassDefFoundError: javaslang.λ错误,可尝试以下几种解决方法:
排查并排除传递依赖中的javaslang
javaslang大概率是项目依赖的第三方库间接引入的,旧版本javaslang与JDK11存在兼容问题。在项目根目录或app模块的build.gradle.kts中,全局排除该依赖:configurations.all { exclude(group = "javaslang") }若确定某个特定依赖引入了javaslang,也可以针对该依赖单独排除:
dependencies { implementation("你的具体依赖坐标") { exclude(group = "javaslang") } }强制引入兼容JDK11的javaslang版本(若项目必须使用)
如果你确实需要javaslang的功能,强制添加兼容JDK11的版本(推荐2.1.0及以上):dependencies { implementation("io.javaslang:javaslang:2.1.0") }清理Gradle缓存
偶发错误可能由缓存损坏导致,执行以下命令清理缓存后重新构建:./gradlew clean build --no-build-cache也可以手动删除本地Gradle缓存目录:
rm -rf ~/.gradle/caches调整Kotlin编译配置
在app模块的build.gradle.kts中明确指定JDK11编译目标,确保字节码兼容性:kotlin { jvmToolchain(11) compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) freeCompilerArgs.add("-Xjvm-default=all") } }重启Gradle守护进程
Gradle守护进程异常也可能引发偶发问题,先停止所有守护进程再重新构建:./gradlew --stop ./gradlew build
内容的提问来源于stack exchange,提问作者maki
相关产品推荐
相关产品推荐

