Eclipse:如何仅为选定的项目创建Gradle刷新依赖项?

时间:2015-09-09 00:03:40

标签: eclipse gradle spring-tool-suite gradle-eclipse gradle-plugin

我正在使用STS / Eclipse来处理我在工作区中加载的几个Gradle项目。

某些项目依赖于其他项目,因此我经常需要将Gradle构建执行到jar文件中,然后执行Gradle - >刷新依赖关系并构建我的依赖关系树。这很好用,虽然我注意到Gradle会尝试刷新工作区中所有项目的依赖项(甚至是完全不相关的项目)。

等待gradle刷新所有项目不仅麻烦而且耗时,而且还很难调试缓存中存在冲突的依赖关系的问题:有时我想禁用项目A的特定依赖项,但它仍然被加载到缓存中,因为不相关的项目B也具有该依赖性。

有没有办法让gradle只为我选择的项目而不是工作区中的所有项目刷新依赖项?

作为参考,我使用插件Gradle IDE 3.6.3.201411271013-RELEASE org.springsource.ide.eclipse.gradle.feature.feature.group在Eclipse Kepler SR2(4.3.2)上使用STS版本3.6.3.RELEASE。

2 个答案:

答案 0 :(得分:1)

似乎这是STS上Gradle插件的问题。我是如何解决的:

  • 已打开的窗口 - &gt;喜好 ;选择了Gradle菜单<​​/ p>

  • 已禁用“将Jars重新映射到maven项目”和“将Jars重新映射到Gradle” 项目”。

  • 应用更改。

不确定这是否也是相关/必要的,但我也是:

  • 打开“外部工具配置”菜单(右键单击项目,“运行方式” - >“外部工具配置”。

  • 转到“刷新”标签,并将“整个工作区中的刷新资源”选项更改为“包含所选资源的项目”并应用了更改。

  • 我必须在工作区中的每个项目上手动更改此选项。

现在我只能对我选择的项目而不是工作区上的所有项目执行gradle构建和刷新依赖项。虽然如果我选择的项目包含缺少依赖项的依赖jar文件,那么这些也将被下载到缓存(这是有意义的)。

在此处找到有关此问题的有用信息:

https://github.com/spring-projects/eclipse-integration-gradle/issues/57

答案 1 :(得分:0)

在这种情况下,您可以使用命令提示符转到该文件夹​​并执行以下命令

gradle build

如果您希望force gradle再次下载所有库,则可以使用--refresh-dependencies选项

gradle build --refresh-dependencies

这是gradle手册的副本。

  

--refresh-dependencies选项告诉Gradle忽略所有缓存   已解析模块和工件的条目。一个新的决心将是   使用动态版本对所有已配置的存储库执行   重新计算,刷新模块,下载工件。