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



我正在使用STS/Eclipse在我的工作空间中加载的几个Gradle项目上工作。

有些项目依赖于其他项目,所以我经常需要在jar文件中执行Gradle构建,然后使用Gradle -> Refresh dependencies来构建我的依赖树。这工作得很好,尽管我注意到有时Gradle会尝试刷新我工作区中所有项目的依赖项(甚至是完全不相关的项目)。

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

是否有一种方法可以使gradle刷新依赖关系仅为项目(s)我选择而不是我的工作空间上的一切?

作为参考,我使用STS版本3.6.3。发布在Eclipse Kepler SR2(4.3.2)上使用插件Gradle IDE 3.6.3.201411271013-RELEASE

似乎这是一个问题与Gradle插件STS毕竟。如何解决:

  • 已打开窗口->首选项;选择Gradle菜单

  • 禁用"将jar文件重新映射到maven项目"one_answers"将jar文件重新映射到Gradle"项目"。

  • 应用变化。

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

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

  • 进入"刷新"选项卡,将"完成时刷新资源"选项从"整个工作区"更改为"包含所选资源的项目"并应用更改。

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

现在我可以只在我选择的项目上执行gradle构建和刷新依赖项,而不是在我的工作空间中的所有项目。尽管如果我选择的项目包含缺少依赖项的依赖jar文件,这些文件也将被下载到缓存中(这是有意义的)。

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

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

在这种情况下,您可以进入带有命令提示符的文件夹,并执行下面的命令

gradle build

如果你想强制gradle重新下载所有的库,你可以使用——refresh-dependencies选项

gradle build --refresh-dependencies

这是gradle手册的副本。

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

相关内容

  • 没有找到相关文章

最新更新