如何在IDEA中下载Gradle项目的依赖项源?

WXB*_*B13 43 intellij-idea gradle

似乎eclipse插件使用以下机制来执行此操作:

apply plugin: 'java'
apply plugin: 'eclipse'

eclipse {
    classpath {
       downloadSources=true
    }
}
Run Code Online (Sandbox Code Playgroud)

但我找不到想法插件的相应选项.我错过了什么?

这是build.gradle文件:

apply plugin: 'groovy'
apply plugin: 'idea'

repositories {
    mavenCentral()
    mavenRepo name: "Grails", url: "http://repo.grails.org/grails/repo/"
}

dependencies {
    groovy 'org.codehaus.groovy:groovy-all:2.0.4'
    compile 'org.slf4j:slf4j-log4j12:1.6.6', 'postgresql:postgresql:9.1-901.jdbc4', 'net.sourceforge.nekohtml:nekohtml:1.9.16'
    ['core', 'hibernate', 'plugin-datasource', 'plugin-domain-class'].each { plugin ->
        compile "org.grails:grails-$plugin:2.1.0"
    }
}

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

// Fat Jar Option (http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar)
jar {
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.0'
}
Run Code Online (Sandbox Code Playgroud)

naX*_*aXa 29

我遇到以下配置问题:

idea {
    module {
        // if you hate browsing Javadoc
        downloadJavadoc = false

        // and love reading sources :)
        downloadSources = true
    }
}

repositories {
    mavenLocal()
    mavenCentral()
}

mavenLocal()下载并附加已删除的源时.

  • 我也遇到了缺少源代码的问题,我发现,如果工件已经存在于本地maven存储库中,那么gradle只是将其保留原样,并且没有尝试加载源代码.当我从本地maven repo中删除工件时,gradle使用源重新下载它们(但是没有将它们放在本地maven仓库中,而是放在它自己的缓存中). (4认同)
  • 谢谢你,@Michal!删除 `/Users/anton/.gradle/wrapper/dists/gradle-7.3.3-all`,运行 ./gradlew cleanIdea idea 并重新加载所有 gradle 项目有效!现在我可以通过 IntelliJ 浏览 Gradle 源代码。 (2认同)

rad*_*tao 16

对于 Kotlin DSL:

plugins {
    idea
}

idea {
    module {
        isDownloadJavadoc = true
        isDownloadSources = true
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 在 7.4.2 中:脚本编译错误:downloadJavadoc = true ^ 无法访问“downloadJavadoc”:它在“IdeaModule”中是私有的“downloadJavadoc”是私有的(https://github.com/gradle/gradle/blob/v7.4.2/ subprojects/ide/src/main/java/org/gradle/plugins/ide/idea/model/IdeaModule.java#L172), `isDownloadJavadoc` 是我所知道的常规 Kotlin 属性名称 (https://github.com/gradle /gradle/blob/v7.4.2/subprojects/ide/src/main/java/org/gradle/plugins/ide/idea/model/IdeaModule.java#L302-L315)。 (2认同)