Tell gradle to bypass dependency checks

2019-07-20 22:29发布

问题:

I am at a clients site, behind a firewall. Im trying to compile but gradle keeps trying to check my dependencies. The corporate firewall explicitly blocks maven downloads so my build is failing. Now I have compiled before, so the dependencies do already exist in my [user]/.gradle folder, but its been more than 24 hours so gradle is trying to do its daily "lets check the repo and make sure nothing changed stuff."

Is there a command switch or anything that im just simply not seeing here to tell gradle to bypass this version check and simply compile the code? I would even be happy with a command switch that says I don't care if dependency resolution failed, compile anyways.

回答1:

Try the --offline command line switch.



回答2:

You still have to get it to compile once to grab the dependencies online, so --offline only works once you have compiled successfully one time.

The only way I was able to get this to work was to tether my phone to my machine and connect to my cellular service for internet instead. That way, I bypassed my company's proxy and firewall and was able to download the dependencies once.

After that, I was able to then compile when connected to the corporate network instead. Just don't clean your project or else you'll be back where you are right now.



回答3:

I found this question because I wanted to short-circuit the Maven dependency checks in a git pre-commit hook that runs gradle check for better performance. I ended up doing:

if ! ( gradle --offline check || gradle check ); then
  exit 1
fi

which tries once with --offline, and then tries again without --offline if the first try fails.



标签: gradle