【发布时间】:2020-05-02 09:10:59
【问题描述】:
以下 Kotlin 库的每次使用都可以编译并且可以使用,但 IntelliJ 的自动完成功能(可能还有其他)无法解析引用。 https://gitlab.com/7Hazard/altv-kotlin
我通过 JitPack 将其用作依赖项:https://jitpack.io/#com.gitlab.7Hazard/altv-kotlin
JDK 11,Gradle 6.3(包装器)
gradle 项目构建良好,但只是自动完成功能被破坏。其他依赖项,如 kotlinx.coroutines 工作正常。
altv-kotlin 是一个 fatjar,甚至包含 jar 中的源代码:https://gitlab.com/7Hazard/altv-kotlin/-/blob/master/build.gradle#L53
它又使用了一个 java 依赖,所以altv-kotlin 使用了一些 Java 并且最后的 fatjar 包括 Kotlin 和 Java 源,如果这会有所不同的话。
可能是因为某种原因没有正确地将源放入 JAR 中吗?我什至无法让 IDEA 反编译自动完成的引用。我有一种强烈的感觉,这是一个与 altv-kotlin 库相关的问题,而不是我的任何环境设置。
我尝试删除 .idea 文件夹,使缓存无效/重新启动,为 IDEA 和 gradle 项目更新 Kotlin 插件,甚至从 2018 年到 2020 年更新 IDEA,但无济于事。
我也尝试了这些答案,但没有解决问题:
https://stackoverflow.com/a/56619181/8122837
https://stackoverflow.com/a/5905931/8122837
我还注意到有关 Kotlin Runtime 与库捆绑的警告,但即使没有捆绑在其中,IDEA 也会抱怨。
【问题讨论】:
-
这能回答你的问题吗?
File -> Invalidate Caches and Restart -> Invalidate and Restart -
@AnimeshSahu 不,我在帖子中说过我已经尝试过多种方式
-
它是否适用于较旧的 Gradle 版本(例如 5.1)?
-
@y.bedrov 这是我升级前用的
标签: java kotlin gradle intellij-idea