Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to use Apache Archiva as Mirror

I think this was supposed to be a simple task, but I've been unable to accomplish it.

I've set an archiva repository as this:

  • 2 Internal Maven1 repos (old projects)
  • 1 Internal Maven2 repo
  • 7 Remote repos (central, java.net, jboss.org, etc.)

For each internal repo I've created a proxy connection with each remote repo.

I've added a new mirror to my settings.xml file as explained in the archiva documentation:

<mirror>
  <id>archiva.default</id>
  <url>http://repo.mycompany.com:8080/archiva/repository/internal/</url>
  <mirrorOf>*</mirrorOf>
</mirror>

When I try building a simple project with one dependency from some of the remote repositories, no artifacts are downloaded. Why?!?

Thanks for any help.

like image 234
Eldelshell Avatar asked Sep 24 '10 13:09

Eldelshell


2 Answers

Archiva doesn't assign repositories any special roles. You make requests to specific managed repository from Maven (so from your settings, internal), and it will serve what is in there, or proxy it from remote repositories that have been connected by a proxy connector. By default, that is just Central - adding a new remote repository has no effect until it is connected to a managed repository by a proxy connector.

What you probably want to do is add a proxy connector on the internal repo to the remote repositories in question. Consider setting the whitelist too so that it is more effecient.

You may also want to set up a repository group that spans all the managed repositories (both maven 1 and maven 2) for use from a single URL.

like image 126
Brett Porter Avatar answered Nov 15 '22 07:11

Brett Porter


I had exactly the same problem with Archiva 2, for me the solution was to give the "Global Repository Observer" role to the Guest user.

like image 26
dafan Avatar answered Nov 15 '22 07:11

dafan