检查您的模块类路径是不是存在缺失或冲突的依赖项[关闭]
Posted
技术标签:
【中文标题】检查您的模块类路径是不是存在缺失或冲突的依赖项[关闭]【英文标题】:Check your module classpath for missing or conflicting dependencies [closed]检查您的模块类路径是否存在缺失或冲突的依赖项[关闭] 【发布时间】:2018-10-22 13:49:09 【问题描述】:我有一个使用 Java 和 Kotlin 的项目,我能够成功运行和构建它。但是,当我在 IntelliJ 中打开项目时,我在许多项目文件中看到相同的错误。
错误是“无法访问类 'java.lang.String'。检查您的模块类路径是否存在缺失或冲突的依赖项”
查看附图中的错误:
另一个在初始化Kotlin MultiPlatform Mobile项目时发生错误的例子:
cannot access 'java.lang.Object' which is a supertype of 'org.gradle.api.artifacts.dsl.RepositoryHandler'. Check your module classpath for missing or conflicting dependencies
这个错误的根源是什么?我该如何解决?
【问题讨论】:
您是否尝试过运行“文件|使缓存无效”?如果没有帮助,请分享 build.gradle 以检查使用的依赖项。 我怀疑您的项目/模块没有配置 JDK。打开 Project Structure 并查找 Project SDK 或 Module SDK @AndreyBreslav,JDK 和 SDK 照常连接。 Java 项目运行稳定。完全重新安装理想后问题得到解决。 也许违反直觉,在项目结构 > 模块 > yourmodule > 依赖项下,“模块 SDK”需要是合适的 Java SDK,不是 Kotlin SDK。 (这为我解决了类似的问题。) 我遇到了这个问题,因为我在项目中添加了 Java SDK 和 Kotlin SDK。当我删除 Kotlin 并重新启动它时,我只需要 Java SDK。 【参考方案1】:如果您的项目设置了 JDK,那么可能 IDE (Intellij) 没有设置 JDK,但您构建的应用程序可以在所需的 JVM 下正常运行。
【讨论】:
【参考方案2】:在我们的项目中,我们遇到了这个问题,因为我们将相同的目录添加到生产和测试源中。
sourceSets
main.java.srcDirs += 'src/main/kotlin/'
main.java.srcDirs += 'build/generated/source/protos/main/java'
test.java.srcDirs += 'src/test/kotlin/'
test.java.srcDirs += 'build/generated/source/protos/main/java'
从测试源中删除重复项解决了问题。
sourceSets
main.java.srcDirs += 'src/main/kotlin/'
main.java.srcDirs += 'build/generated/source/protos/main/java'
test.java.srcDirs += 'src/test/kotlin/'
【讨论】:
以上是关于检查您的模块类路径是不是存在缺失或冲突的依赖项[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
无法访问类“android.support.design.widget.Snackbar”
使用 Kotlin Multiplatform Mobile (KMM) 的多平台应用程序中的 DataBinding 错误