gpt4 book ai didi

java - IntelliJ with gradle 导致编译不一致

转载 作者:行者123 更新时间:2023-12-02 01:59:00 24 4
gpt4 key购买 nike

我正在使用 IntelliJ IDEA Ultimate 和 gradle 编写 Minecraft 插件。我已将依赖项 org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT 添加为 compileOnly。在开发过程中,我注意到 gradle 编译我的代码的方式与 IntelliJ 不同。例如,IntelliJ 无法接受 Boat 上的 addPassenger,但 gradle 对其进行了编译。相反,如果我将其更改为 setPassenger,IntelliJ 不会将其标记为错误,但 gradle 无法编译。我尝试使缓存无效、重新导入、清理、甚至删除 %userprofile%\.gradle 目录,但没有任何帮助。作为 POC,我将 compileOnly 更改为 compile 并且效果很好,IntelliJ 和 gradle 编译结果一致。原因是什么?

最佳答案

好的,我找到了解决方案(并且忘记了这个问题)。

我一直在使用多个依赖项,其中一个依赖项使用我在 build.gradle 中隐式加载的旧版本加载另一个依赖项。然而,它们并不是完全相同的依赖关系,而是并行的依赖关系。因此 gradle 无法选择一个依赖项的更高版本。解决方案是排除这一显式加载的依赖项,一切正常。

之前:

dependencies {
compileOnly 'com.sk89q.worldedit:worldedit-bukkit:7.0.1'
compileOnly group: 'org.spigotmc', name:'spigot-api', version: '1.15.1-R0.1-SNAPSHOT'
}

之后:

dependencies {
compileOnly('com.sk89q.worldedit:worldedit-bukkit:7.0.1') {
exclude `org.bukkit:bukkit:1.15.1-R0.1-SNAPSHOT`
}
compileOnly group: 'org.spigotmc', name:'spigot-api', version: '1.15.1-R0.1-SNAPSHOT'
}

关于java - IntelliJ with gradle 导致编译不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57384476/

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