当前位置: 首页 > 知识库问答 >
问题:

分级项目生成成功,但IntelliJ无法解析引用

梁丘诚
2023-03-14

下面的Kotlin库的每一种用法都可以编译和使用,但是IntelliJ的autocomplete(也许还有其他的)不能解析引用。https://gitlab.com/7Hazard/altv-kotlin

我通过JitPack将其用作依赖项:https://jitpack.io/#com.gitlab.7Hazard/altv-kotlin
JDK 11,等级6.3(包装纸)

gradle 项目构建正常,但只是自动完成功能已损坏。其他依赖项(如 kotlinx.协程)可以正常工作。

它< code>altv-kotlin是一个fatjar,甚至包括jar中的源代码:https://git lab . com/7 hazard/altv-kotlin/-/blob/master/build . grad le # L53 < br >它又使用java依赖项,因此< code>altv-kotlin使用一些Java,如果有区别的话,最后的fatjar包括kot Lin和Java源代码。

是否由于某种原因,源代码没有正确地放入JAR中?我甚至无法让IDEA反编译引用以自动完成。我有一种强烈的感觉,这是一个与altv-kotlin库相关的问题,而不是我的任何环境设置。

我试图删除.idea文件夹,使缓存无效/重新启动,更新IDEA和gradle项目的Kotlin插件,甚至从2018年更新IDEA到2020年,但无济于事。我也尝试了这些答案,但没有解决问题:
https://stackoverflow.com/a/56619181/8122837
https://stackoverflow.com/a/5905931/8122837
我还注意到关于 Kotlin 运行时与库捆绑在一起的警告,但即使没有捆绑在里面,IDEA 也会抱怨。

共有1个答案

鲜于裕
2023-03-14

因此,在本地,我似乎已经通过重新创建项目并将源代码复制到那里来解决问题。似乎已经奏效了,为什么我不知道。
但是,当使用来自JitPack的远程依赖项时,因为我在JAR中包含了所有类文件,以使其成为fatjar。

jar {
    from configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it)
}

自从我从jar任务中删除该行后,IntelliJ IDEA就能够正常解析引用。

 类似资料:
  • 我对Maven的世界是新的。我正在尝试创建一个虚拟的Spring Boot项目使用spring工具套件在一个私人公司。每当我尝试创建一个spring-boot项目时,我都会得到以下错误。是否与专用网络有关??如果没有,我的maven安装有什么问题吗?我怎么让它运行? 这里有个错误: 项目生成错误:com.example的父POM不可解析。dummy:dummy-project:0.0.1-snap

  • 我正在进入一个比赛的分钟,但在第一天的编码,我得到的错误,你可以看到的问题,以及我的项目不能建立 如果你需要更多的截图只管问。

  • 我是一个Eclipse/STS用户/开发人员,现在正在尝试使用IntelliJ Idea(CE) 2020.2.(1,2,3) 对于一个基于Gradle的项目,如何进行Spring集成,当我打开IDE时,会发生以下情况 从上面来看,这就是问题所在,我不希望IDE自动启动来构建/重建项目。我只是需要,打开项目,仅此而已。 观察:例如,在Eclipse/STS中存在自动禁用构建的选项 我确实在网上做了

  • 我有一个非常基本的多项目分级设置,如下所示: 文件包括这两个子项目。根项目不应用java插件,但两个子项目都应用了。使用时,所有东西都按预期生成。 但是,据我所知,由于我没有在根项目中应用插件,因此它不应该有任务。 的输出显示任务。 但的输出只显示列有和。 所以我的问题是--在这个场景中到底执行了什么?gradle只是找到所有子项目中匹配供应模式的每一个任务吗?是否有关于此任务名称解析的特定规则?

  • 我正在进行带有多个Grails插件的Grails项目(Grails2.3.11)。一个主要的Grails项目,加上一些用户定义的Grails插件和核心Java项目,创建了一个完整的应用程序。到目前为止,这些项目都是使用Ant Builder构建的。最近升级的构建过程使用Gradle。 gradle过程的问题是,有些项目需要用JDK1.7构建,有些项目需要用JDK1.8构建。为了修复它,我将java

  • 我正在尝试使用ANTLRV4为一个简单的自定义语法生成一个lexer和解析器。问题是,当我运行Antlr.jar实用程序时,它生成了一个Lexer文件,而不是一个解析器文件,我认为它应该生成。 简单语法 hellolexer.js hellolexer.tokens 所需输出 hellolexer.js helloparser.js hellolistener.js hellovisitor.js