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

如何让IntelliJ关联Gradle源与build.gradle?

龚宏壮
2023-03-14

在为我的Java项目编写Gradle脚本时,特别是在编写build时。gradle文件,IntelliJ无法识别gradle API。

例如,Gradle方法调用,如applydependenciesconfigure,下面会出现一条黑线,无法导航到方法声明,也没有自动完成等。

我设法通过向构建的依赖项块添加compile gradleApi()来解决这个问题。但是,我不想在代码中有这种显式的依赖关系。

我试图编辑IntelliJ的项目结构,并在我的模块中添加对Gradle库的依赖(尝试了Gradle core和Gradle all),但这似乎没有效果。

有没有办法让IntelliJ将所有build.gradle文件与Gadle源关联起来?

共有3个答案

周飞
2023-03-14

当我选择build时。在IDEA中升级并打开它,IDE提示

You can configure Gradle wrapper to use distribution with sources. It will provide IDE with Gradle API/DSL documentation.

我选择好,应用建议

庾才
2023-03-14

我对Grails 3也有类似的挫败感,它在创建应用程序时定义并运行包装器任务。在包装器属性文件中更改为"all"zip不起作用,因为它一直被更改回"bin"zip。

当理解“gradle-wrapper.properties”文件简单地存储“包装器”任务中的值时,这个问题就解决了,如果这个任务在属性更改后运行,它们会马上被更改。

通过在包装器任务上设置一些属性,可以很容易地解决这一问题:

wrapper.gradleVersion='3.2.1'
wrapper.distributionType=Wrapper.DistributionType.ALL

现在,将项目导入IDEA可以对构建进行智能编辑。格拉德尔。

茹正祥
2023-03-14

我解决这个问题的方法如下:

  1. 正如已经发布的答案中提到的,配置gradle

>

  • 更新gradle/包装器/gradle-wrapper.propertiesfile
    更改binall在发行版Url即
    发行版Url=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
    执行<>

    ./gradlew wrapper --gradle-version 6.8.3 --distribution-type all
    

    更新梯度任务(如果存在于生成文件中)

    wrapper {
        gradleVersion = '6.8.3'
        distributionType = Wrapper.DistributionType.ALL
    }
    
    plugins {
        id "java-library"
        id "idea"
    }
    

    上面我们已经配置了两个选项,所以选择其中一个,除了指定的位置选项。就这样。

    此答案中提到的自动完成功能。

  •  类似资料:
    • 我正在开发一个Gradle插件。有时我想看看Gradle自己类的源代码或Javadocs。我想从IntelliJ IDEA中完成,而不必打开单独的应用程序。也就是说,在Gradle方法或类上点击Ctrl或Ctrl B,让IntelliJ打开Gradle本身的源代码。 我尝试了一切,从在IntelliJ IDEA中附加Gradle源: 正在添加

    • 这是一个Gradle build,建议在这里使用play web framework。 它在构建,启动等时工作正常...从命令行,但一旦项目导入到intellij(使用的项目文件)中,依赖项(来自播放插件)不会显示在项目视图/外部库中(即使在gradle面板中点击“刷新所有gradle项目”之后)。 谢谢:) PS:intellij 15 . 0 . 2/gradle 2.6/play插件

    • 详细信息:IntelliJ 13.1.2,Gradle 1.11

    • 我注意到我的IntelliJ不能正确地显示Javadoc/sources。我已经通过右键单击->maven->下载源代码和文档下载了它们。当我转到它应该所在的目录时,我找到了我需要的一切: 如何确保IntelliJ正确下载并正确命名Javadoc/sources?我不想手动重命名所有内容,然后通过IntelliJ接口手动设置javadoc/sources。 我想这个问题是在我中断下载源代码/文档时

    • 我使用和创建了一个Spring Boot应用程序,并使用Keycloak对用户进行身份验证。 现在我想使用KeyCloak的授权服务对我的API进行细粒度访问控制。 在Keycloak中,我已经为我的客户启用了授权。我已经创建了一个角色,并将该角色分配给我的测试用户。我已经创建了一个资源和一个基于资源的权限,并添加了一个基于角色的策略。使用评估功能,我已经确认,我的用户有权访问我的资源。 假设我有

    • 我正在IntelliJ中使用Gradle项目结构和JavaFx Gradle插件构建一个JavaFx项目: Gradle JavaFx插件 我想知道如何在类路径中包含资源文件。具体来说,我目前正在尝试定义一个log4j2配置JSON文件,log4j2将在运行时加载该文件。我当前在运行应用程序时收到以下消息: 错误状态记录器未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。 我现在有l