如何告诉gradle下载所有源jar

Dea*_*ler 44 gradle

理想情况下,我们想添加一个任务来下载第一级的所有源jar和我们项目的传递依赖项.有没有办法做到这一点?

如果没有,是否有一个命令行选项提供像maven必须将所有源下载到我们的机器上?

看起来这应该只是默认情况下至少对于第一级依赖,因为它在eclipse中为您提供了javadoc然后在执行代码完成时非常好.

ski*_*ipy 38

可以使用downloadSources配置eclipse任务.以下是该配置的示例

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

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

所以跑

gradle cleanEclipse eclipse
Run Code Online (Sandbox Code Playgroud)

有它下载源.

  • 根据http://gradle.org/docs/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html#org.gradle.plugins.ide.eclipse.model.EclipseClasspath,这是默认行为. :downloadSources (9认同)

Mar*_*Dow 25

如果您使用Eclipse并希望在那里导航依赖项的源代码,那么Eclipse插件会为您执行此操作.

通过添加apply plugin: "eclipse"到build.gradle文件来安装eclipse插件.然后运行gradle eclipse以生成Eclipse .project,.classpath和.settings文件.该插件将自动下载所有可用的源,并在.classpath文件中添加引用它们(请参阅元素的sourcepath属性classpathentry).

要将项目导入Eclipse,请选择File > Import... > Existing Projects into Workspace并选择项目.

(我不确定Idea插件是否为Idea用户做同样的事情,但它可能会这样做).

  • 有一点需要注意:在我清理了我的gradle缓存之后,我必须"gradle cleanEclipse eclipse",然后关闭并重新打开eclipse项目以获得eclipse再次查看源代码. (2认同)
  • 有时您没有看到Eclipse WTP中的源代码,尽管它们是通过gradle下载的.在这种情况下,您需要手动将Web App Libraries推送到构建路径的底部或使用[Andreas Kuhrwahl的解决方案](http://stackoverflow.com/questions/12836089/why-is-eclipse-not-attaching-3rd三方-库 - 源文件到一个-WTP方位-的gradle) (2认同)

Rus*_*nko 21

其他答案中未提及的另一个问题是当您mavenLocal()gradle.build文件中使用存储库时.如果在本地maven仓库中有下载的jar但在该仓库中没有下载的源或javadoc,则gradle甚至不会尝试为您下载javadoc或源代码.即使启用eclipse.classpath.downloadJavadoceclipse.classpath.downloadSources.

解决方案是mavenLocal()repositories列表的底部删除或放置它.或者您可以设置 maven来下载源代码和javadoc并清理您的maven本地存储库(~/.m2/repository).

这里是对问题的更详细描述.

  • 就是这样._解决方案是从存储库中删除mavenLocal()或将其放在list_的底部为我工作! (3认同)

Pau*_*sek 12

以下是如何使用IDE的插件在Gradle中添加所需的配置:

对于Eclipse:

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

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

对于IntelliJ

apply plugin: 'java'
apply plugin: 'idea'

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}
Run Code Online (Sandbox Code Playgroud)

要运行这些插件:

gradle cleanEclipse eclipse
gradle cleanIdea idea
Run Code Online (Sandbox Code Playgroud)


jas*_*sop 6

Piohen上面的评论应该是它自己的答案(因为它是唯一对我有用的解决方案)

  1. 右键单击您的项目,然后选择"Build Path" - >"Configure Build Path";
  2. 选择"订购和出口"
  3. 选择"Web App Libraries",然后单击"Bottom"按钮,"Web App Libraries"将位于底部;

并将其添加到Gradle Eclipse插件中(因此您不需要每次都手动执行此操作):

为什么Eclipse没有将第三方库源文件附加到面向WTP的Gradle项目?


归档时间:

查看次数:

45725 次

最近记录:

7 年,1 月 前