我正在使用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。
答案 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忽略所有缓存 已解析模块和工件的条目。一个新的决心将是 使用动态版本对所有已配置的存储库执行 重新计算,刷新模块,下载工件。