gpt4 book ai didi

java - Java 项目中的 Kotlin, Unresolved 引用

转载 作者:行者123 更新时间:2023-12-02 09:51:49 25 4
gpt4 key购买 nike

我试图将一些 Kotlin 文件包含在一个相当大的 IntelliJ Java 项目中,我偶然发现了一个案例,在每次导入时我都会遇到“未解析的引用”。

(简化的项目结构:

Project:
saksbehandling
- e2e
- cucumber
- src
- test
- java
-e2e
- support
- common
- src
- main
- java
- common
- testdata

support 模块中的 Kotlin 类工作正常。common 模块中的 Kotlin 类没有。

同一文件位于/e2e/cucumber/src/test/java/e2e/support 和/e2e/common/src/main/java/common/testdata 文件夹中。在后者中,当我尝试任何类型的导入时,我都会收到“未解析的引用”。示例:

import api.utils.ApiResourceFactory
import com.google.common.io.Resources
import e2e.utils.AdressIterator

现在, api.utils 和 e2e.utils 未解析的引用是一回事。但是 com.google 引用资料呢?这告诉我有一些东西严重缺失或损坏。

我一直在寻找冲突的版本等,但它们都是同一个项目,那么问题如何与此相关呢?此外,使 common 模块依赖于 cucumber 模块并没有帮助,而且这也不是一个好主意。

有什么想法可以解决这个可能愚蠢的新手问题吗?

顺便说一句:此外,当在 common 模块中创建 Kotlin 文件时,没有导入工作,突然间,cucumber 模块中的工作 Kotlin 文件也开始变得“​​无法解析”在创建新文件之前一直有效的内容的引用。

更新:

使用此链接:https://www.baeldung.com/kotlin-maven-java-project为了调整 .pom 文件,我能够让大部分导入工作。

但是,一些奇怪的事情仍然不起作用:

导入 kotlin.collections.ArrayList 仍然给出“未解析的引用:ArrayLIst”

在代码中,我在以下内容中得到“未解析的引用”

listOf()
educationMap[fnr] (the []'s - No set method providing array access
ComplaiuntWhoEnum::class.java.enumConstants - Unresolved reference: Java

我什至收到有关 Unresolve 引用的错误:Int (!)

更新2:

如果我创建一个文件夹/common/src/main/kotlin,事情看起来会更好。但是我无法将这些类导入到 cucumber 模块中的类中。

最佳答案

如果您的构建在 IntelliJ 之外失败,您可能应该首先修复此问题。也许发布您遇到的错误和您的构建配置来获取帮助。

如果在 IntelliJ IDEA 之外一切正常,则模块的配置可能已经过时,IntelliJ 很难修复它。

到目前为止,在 IntelliJ 中重新组织模块时,有 2 个解决方案对我有用:

  • 文件 > 使缓存无效/重新启动
  • 如果第一个不起作用,请尝试删除项目、删除 IDEA 文件并重新导入

关于java - Java 项目中的 Kotlin, Unresolved 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56275200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com