理想情况下,我们想添加一个任务来下载第一级的所有源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)
有它下载源.
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用户做同样的事情,但它可能会这样做).
Rus*_*nko 21
其他答案中未提及的另一个问题是当您mavenLocal()在gradle.build文件中使用存储库时.如果在本地maven仓库中有下载的jar但在该仓库中没有下载的源或javadoc,则gradle甚至不会尝试为您下载javadoc或源代码.即使启用eclipse.classpath.downloadJavadoc和eclipse.classpath.downloadSources.
解决方案是mavenLocal()从repositories列表的底部删除或放置它.或者您可以设置 maven来下载源代码和javadoc并清理您的maven本地存储库(~/.m2/repository).
这里是对问题的更详细描述.
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)
Piohen上面的评论应该是它自己的答案(因为它是唯一对我有用的解决方案)
并将其添加到Gradle Eclipse插件中(因此您不需要每次都手动执行此操作):
为什么Eclipse没有将第三方库源文件附加到面向WTP的Gradle项目?
| 归档时间: |
|
| 查看次数: |
45725 次 |
| 最近记录: |