How can I force update all the snapshot Gradle dependencies in intellij

痴心易碎 提交于 2020-06-09 09:18:50

问题


I have a project with some SNAPSHOT dependencies that uses gradle as its build tool in intellij.

The problem is that intellij is using SNAPSHOTS that are now outdated.

When I build the project on the command line

gradle build or 
gradle clean build --refresh-dependencies

On command line the latest dependencies are fetched. I also setup my grade file to always download snapshot dependencies according to this answer.

How can I force intellij to download all dependencies?


回答1:


I have run into some very sticky snapshots. There are a few options you can try:

  • On the Gradle tab (right side of UI), click the blue circling arrows icon, which should refresh the dependencies (works in most cases)
  • If that does not work, try running the gradle command in IntelliJ using the Green "run Gradle command" icon - this runs the command in IntelliJs environment not that of your local machine.
  • If both of those fail, you can modify your Gradle resolutionStrategy settings to something like: configurations.all { resolutionStrategy.cacheDynamicVersionsFor 4, 'hours' resolutionStrategy.cacheChangingModulesFor 4, 'hours' } This config change is a last-ditch option and should be used sparingly. It basically tells Gradle to refresh the local cache more often. You should click the IntelliJ Gradle refresh button after making these changes.



回答2:


In IntelliJ 2017.2 you can right-click on the project name in the Gradle Tool Window and select Refresh dependencies from the context menu.

Refresh Gradle dependencies in IntelliJ 2017.2

This will refresh all your dependencies, not only the SNAPSHOTS, so it might take a while. I don't know if other versions of IntelliJ also have this feature.




回答3:


Another option is to open up the Project Structure, and under Project Settings, Libraries, find the dependency in the list and remove it. Then press the Gradle refresh blue circling arrows icon and IntelliJ should fetch the latest version.




回答4:


Gradle caches changing modules for 24 hours by default. We can tell Gradle to refresh or redownload dependencies in the build script by marking those as 'changing'.

Follow these steps:

Step #1: Tell Gradle not to cache changing modules by set the value of the cacheChangingModulesFor property to 0 second:

configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

Step #2: Mark dependencies which are needed to be refreshed or redownloaded, as changing module:

dependencies {
    compile("com.howtoprogram.buysell:payment-api:0.0.1-SNAPSHOT"){
        changing=true
    }
}

Source: Refresh or Redownload Dependencies in Gradle




回答5:


IntelliJ IDEA ULTIMATE 2020.1

Right-click on the project name in the Gradle Tool Window and select Refresh Gradle Dependencies from the context menu.



来源:https://stackoverflow.com/questions/32652738/how-can-i-force-update-all-the-snapshot-gradle-dependencies-in-intellij

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!