检查您的模块类路径是不是存在缺失或冲突的依赖项[关闭]

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 错误

idea怎么将库添加到类路径

idea构建失败?

即使依赖项存在于类路径中,Spring boot 仍显示“无法解析”

模块*.DLL 加载失败。请确保该二进制储存在路径中,或者调试它以检查该二进制或相关的.DLL文件是不是有问题