You're quite right. This can be a very frustrating experience.
There are a number of things to consider. Depending on your platform.
I've given up on Windoze eons ago so my 2cts might not applicable for you. It's more for Linux/Gnome users in some cases. So here it goes.
- The proxy settings in n Windows => preferences => General => Network Connections.
Pitfall: if you have already set your global proxy settings either though Gnome network manager or through java properties in the eclipse.ini or though environment variables, eclipse will 'sense' the settings and use a 'Native' configuration. Try to switch to 'Manual' mode. Some plugins like it better.
Pitfall: This is not necessarily used by all plugins.
- IIRC, The XML validation plugin prefers 'manual' in some versions of eclipse
- In true subversion philosophy, subclipse uses its own file (e.g. $HOME/.subversion/server)
- A Maven installation will use the global settings.xml or the user settings xml (depending upon your maven upgrade policy, use one or the other). I'm assuming an external maven installation here.
2 - As I already hinted you can also set:
- -Dhttp.proxyPort=
- -Dhttp.proxyHost=
- -Dnetwork.proxy_host=
- -Dnetwork.proxy_port=
3 - For Linux, you can set environment variables
- http_proxy
- https_proxy
They will also result in 'Native' config for eclipse.
More pitfalls
Finally, just to make it more fun, there are situations when the entries in your cache (see the network preferences for well known DTDs or XSDs) are corrupt because they store 40x HTML responses and it often takes some time to realize. In the past when my company (a top dog in the network suppliers domain !!!) was enforcing a corporate proxy I ended up copying the cached files and catalogue from one eclipse instance to the next...
You can also use the DTD/XSD catalogue.
You know you run into this kind of pb because developing in the office is a PiA (each time you save file, the XML validator kicks in and you have to wait for the timeout) and developing at home is a breeze.
An even older story: in another top level company, they thought that we were using internet too much and only the proxy could resolve DNS. Of course no eclipse site update was accessible. I ended up writing a DNS that would use the corporate DNS for local names and a web service client that would interrogate other internet DNS exposing a web service interface... But that was more than 10 years ago. Yous situation is probably not that bad.