maven-proxy is a lightweight servlet engine that sits on your main server and imitates ibiblio (for instance). When it gets a request for a jar it doesn't have, it gets the jar from the upstream servers and stores it into it's cache before returning it to the requester.

How does this differ from a normal proxy cache?

  • The directory structure of the cache mimics a local repository
  • It can talk to multiple upstream repositories - ibiblio, codehaus, open symphony etc, providing a unified view for local applications.
  • It is persistent, most caches expire their content
  • It is simpler than setting up a full blown proxy cache
  • It is quicker than mirroring the entire of ibiblio (not to consider the waste)
  • It is maven aware - eg. SNAPSHOTs can be given a schedule for removal etc.
  • It is self contained - it's not a general purpose proxy