Я пытаюсь включить сом-файлы Kotlin в довольно большой Java-проект IntelliJ, и я наткнулся на случай, когда я получаю «неразрешенную ссылку» на абсолютно каждый импорт.
(упрощенная структура проекта:
Project:
saksbehandling
- e2e
- cucumber
- src
- test
- java
-e2e
- support
- common
- src
- main
- java
- common
- testdata
Классы Kotlin в модуле support работают нормально.
Классы Kotlin в модуле common отсутствуют.
Этот же файл находится в папках / 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 не помогает, а также не очень хорошая идея.
Есть идеи, как решить эту, вероятно, глупую проблему новичка?
Кстати: кроме того, при создании файла Kotlin в модуле common , где не выполняется импорт, неожиданно рабочий файл Kotlin в модуле cucumber также начинает получать неразрешенные ссылки на вещи, которые работали, пока не был создан новый файл.
UPDATE:
Используя эту ссылку: https://www.baeldung.com/kotlin-maven-java-project, чтобы настроить файл .pom, я смог заставить работать большую часть импорта.
Однако некоторые странные вещи все еще не работают:
import 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.