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

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

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

一些项目依赖于其他项目,所以我经常需要将 Gradle 构建到 jar 文件中,然后是 Gradle -> Refresh Dependencies 并构建我的依赖树。这工作正常,尽管我注意到有时 Gradle 会尝试刷新我工作区中所有项目的依赖项(即使是完全不相关的项目)。

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

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

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

最佳答案

看来这毕竟是 STS 上的 Gradle 插件的问题。我是如何解决的:

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

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

  • 应用更改。

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

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

  • 转到“刷新”选项卡并将“完成后刷新资源”选项从“整个工作区”更改为“包含所选资源的项目”并应用更改。

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

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

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

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

关于Eclipse:如何让 Gradle 只为选定的项目刷新依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32468993/

相关文章:

mysql - 无法将mysql连接到spring boot项目

gradle - 使用Gradle Kotlin DSL在Gradle中进行样板项目配置

jsp - Spring Tool Suite IDE不突出显示JSP文件

c++ - 程序意外终止 C++

java - 在 eclipse 中运行 servlet 导致服务器启动失败

android - 工具似乎落后于Android模拟器

xml - 引用的文件包含错误 (http ://testng. org/testng-1.0.dtd)

android - 我可以在自己的模块中设置 Robolectric

android - 在 Gradle 中删除带有模式的目录

java - linux spring 工具套件(eclipse)从终端启动而不是从桌面启动