Java 使用渐变构建获取IntelliJ IDEA中的渐变依赖项

Java 使用渐变构建获取IntelliJ IDEA中的渐变依赖项,java,intellij-idea,gradle,build.gradle,Java,Intellij Idea,Gradle,Build.gradle,Grade build,即使是从IntelliJ IDEA内部,也不会将依赖项放入“External Libraries”文件夹,因此这些类不会在编辑器中显示为建议,当我手动将它们添加为导入时,会出现编译错误 如何让IntelliJ自动将依赖项合并到build.gradle文件中,例如: compile'com.google.code.gson:gson:1.7.2您需要从Idea中将项目作为Gradle项目导入。添加依赖项时,需要打开渐变窗口并执行刷新 或者,使用以下命令从gradle生成项目

Grade build,即使是从IntelliJ IDEA内部,也不会将依赖项放入“External Libraries”文件夹,因此这些类不会在编辑器中显示为建议,当我手动将它们添加为导入时,会出现编译错误

如何让IntelliJ自动将依赖项合并到build.gradle文件中,例如:


compile'com.google.code.gson:gson:1.7.2

您需要从Idea中将项目作为Gradle项目导入。添加依赖项时,需要打开渐变窗口并执行刷新

或者,使用以下命令从gradle生成项目文件:

build.gradle:

apply plugin: 'idea'
然后运行:

$ gradle idea

如果修改依赖项,则需要重新运行上述操作。

添加依赖项后,打开“渐变”(“查看”->工具窗口->渐变)选项卡并点击“刷新”

添加(编译'io.reactivex:rxjava:1.1.0')的示例:


如果Idea仍然无法解析依赖项,因此可能是该依赖项不在mavenCentral()存储库中,您需要在将现有Gradle项目(具有
build.Gradle
)导入IntelliJ Idea时,将该依赖项所在的存储库添加到存储库{}

,此时显示以下屏幕,选择从外部模型导入->渐变


(可选)在下一个屏幕上选择“自动导入”以自动导入新的依赖项。

Andrey的上述帖子对于2017年第三季度的Intellij最新版本仍然有效。所以就用它吧。”因为,build项目和外部命令行gradle build并没有将其添加到Intellij中的外部依赖项中……听起来很疯狂,但这是真的。现在唯一的区别是UI看起来与上面的不同,但仍然使用相同的更新图标。我只是把答案放在这里,因为我不能粘贴新用户界面的快照…我不想要任何投票本身。安德烈仍然给出了上面的正确答案:

对于出现“无法解析依赖项”错误的用户:
关闭“脱机模式”
(“视图”->工具窗口->渐变)


在我的例子中,我在刷新gradle('View'->工具窗口->gradle)选项卡时出错,并点击“refresh”(刷新),得到了这个错误,类jetgradleplugin没有这样的属性gradleversion


必须安装与gradle 5+兼容的最新intellij。

尝试了此线程中的所有内容,但intellij 2020.2中的任何内容都不适用于我,但是我必须设置JDK的正确路径,然后在Gradle设置中选择它(如下图所示):

  • 为Java SDK设置正确的路径(在文件->项目结构下):
  • 在渐变窗口中,单击“渐变设置…”
  • 从(1)中选择正确的SDK:
  • 之后,“重新加载所有Gradle项目”选项按预期下载所有依赖项



    干杯。

    将该项目作为gradle项目导入,确保已启用gradle支持。
    应用插件:“idea”
    在任何情况下都应添加。@PeterNiederwieser-如果您从idea导入,会产生什么影响?它允许配置IntelliJ设置的各个方面(例如,使用哪个JDK),这应该得到进口方的尊重。如果您的构建没有任何此类配置,则可能不需要应用插件(我从未尝试过没有插件)。谢谢,很高兴知道,我专门使用gradle为我生成项目文件,因此在生成项目文件时不需要这样做,不过,在这种情况下,应用插件肯定不是可选的,但它似乎不起作用。我添加了一个依赖项并进行了刷新,但当我尝试以XML或Java源代码导入库时,IDEA无法解决它。对我来说是有效的。谢天谢地,即使没有使用idea gradle插件,@AuBee:我也有同样的问题。当我从命令行使用Gradle构建(只有一次)时,它消失了。@thomasyes。CLI总是有更多control@AuBee如果Idea无法解析依赖关系,那么可能是依赖关系不在mavenCentral()存储库中,您还需要将存储库添加到存储库{},这个答案解决了我的问题,应该是你在得到上面的正确答案之前做的第一件事。这是唯一有效且正确的解决方案。仅为idea向gradle.properties中添加某些内容是完全错误的。如果不对原始导入执行此步骤,我将无法使语法高亮显示和自动完成工作。您可以在不重新导入的情况下修复它,但这要容易得多,至少在一个小项目上是如此。@user219882-为什么向构建中添加某些内容“完全错误”?@tddmonkey,因为用户选择使用的IDE与描述构建如何发生无关。Intellij 2020.3上的完美解决方案!