IntelliJ IDEA无法解决良好的工作gradle依赖关系

时间:2019-06-15 12:21:34

标签: gradle intellij-idea kotlin bukkit

我目前正在与Gradle(source code here)一起进行Kotlin项目。这是一个Bukkit插件,它取决于我维护的库(library source code here)。在终端中运行./gradlew assemble时,一切正常,并且构建成功(下面的日志)。

$ ./gradlew assemble --console plain

> Task :compileKotlin
w: Some JAR files in the classpath have the Kotlin Runtime library bundled into them. This may cause difficult to debug problems if there's a different version of the Kotlin Runtime library in the classpath. Consider removing these libraries from the classpath
w: /home/axel/.gradle/caches/modules-2/files-2.1/com.github.axelrindle/PocketKnife/v1.3.0/b2303013bfd8e21c419f1d640ef374afc48e86af/PocketKnife-v1.3.0.jar: Library has Kotlin runtime bundled into it

> Task :compileJava NO-SOURCE
> Task :processResources
> Task :classes
> Task :inspectClassesForKotlinIC
> Task :jar
> Task :assemble

BUILD SUCCESSFUL in 5s
4 actionable tasks: 4 executed

但是在IDEA中工作时,我的库是IDE由于任何原因无法解析的库。

我已经尝试了以下步骤:

  • 删除gradle / idea缓存(~/.gradle/caches; .idea
  • 重新安装IDEA
  • 删除IDEA配置目录(.IdeaIC2019.1
  • 在IDEA中重新导入项目

我已经阅读了以下问题/答案,但没有一个起作用:

此外,我的idea.log可以在这里找到:https://pastebin.com/0Z5b3Wdp

最后但并非最不重要的一些版本信息:

IntelliJ IDEA 2019.1.3 (Community Edition)
Build #IC-191.7479.19, built on May 28, 2019
JRE: 1.8.0_202-release-1483-b58 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.18.0-21-generic
$ ./gradlew --version

------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------

Build time:   2019-04-26 08:14:42 UTC
Revision:     261d171646b36a6a28d5a19a69676cd098a4c19d

Kotlin:       1.3.21
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          12.0.1 (Oracle Corporation 12.0.1+12)
OS:           Linux 4.18.0-21-generic amd64

2 个答案:

答案 0 :(得分:1)

经过大量失败的故障排除后,我发现了问题所在。我的库包含捆绑的kotlin运行时,这导致无法调试IDEA的解决问题。我将项目分为多个子项目,其中实际的api依赖项不捆绑kotlin运行时。这解决了我的问题。

答案 1 :(得分:1)

我刚刚从https://github.com/axelrindle/Broadcaster-Plugin克隆了您的存储库

在您的 build.gradle 文件中,您引用的PocketKnife工件的版本 1.2.2 在GitHub中不存在。如果您使用现有的版本,例如 1.2.1 ,则IntelliJ可以解决依赖关系。

enter image description here

enter image description here