Taking a copy of someone else's repo is definitely the "hard way".
Archiva is configured out of the box to proxy files on demand. So
let's say you started a new instance of Archiva on http://defiant/archiva/
You should be able to use this:
<ibiblio name="mavenProxy" m2compatible="true" usepoms="true"
root="http://defiant/archiva/repository/internal/" pattern="$
{artifact.pattern}" />
You should find that this will copy the files you need from
repo1.maven.org to Archiva on the fly.
HTH,
Brett
On 23/11/2008, at 10:52 PM, Andrew Marlow wrote:
hello,
I am new to archiva and I am struggling. It seems really hard to set
things up so that my ant build with ivy will work. I can only get it
to work when I tell ivy that the repo is an established maven2 mirror.
I want to have my own repo mgd by archiva. I tried setting one by
hand but I couldn't get it to work and even if I could, it would be
really tedious to set up every pom and jar by hand. Not to mention
that to do so would involve having all the poms and jars so that
they could be uploaded to archiva in the first place. So I thought I
would use wget to download a complete repo from
maven2.atlassian.com. This download eventually completed and all the
poms and jars were there. I configured apache so that the repo was
available via my local web server. I can browse this repo just fine.
I then changed my ivy config to point to these pages using this
directive:
<ibiblio name="mavenProxy" m2compatible="true" usepoms="true"
root="http://defiant/maven2/" pattern="${artifact.pattern}" />
(defiant is the name of my machine). This gave an interesting result
in ivy. It initially said it resolved everything, giving successful
download messages for all the jars. It populated the ivy cache as
well. But then it gave an error for every jar, as shown by the
sample below:
[ivy:resolve] module not found: org.apache.commons#commons-parent;9
[ivy:resolve] ==== mavenProxy: tried
[ivy:resolve]
http://defiant/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom
[ivy:resolve] -- artifact org.apache.commons#commons-parent;9!
commons-parent.jar:
[ivy:resolve]
http://defiant/maven2/org/apache/commons/commons-parent/9/commons-parent-9.jar
[ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy-
cache/commons-lang/commons-lang/ivy-2.4.xml.original.
Parent=org.apache.commons#commons-parent;9
[ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy-
cache/commons-collections/commons-collections/
ivy-3.2.1.xml.original. Parent=org.apache.commons#commons-parent;9
[ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy-
cache/commons-fileupload/commons-fileupload/ivy-1.2.1.xml.original.
Parent=org.apache.commons#commons-parent;7
[ivy:resolve] module not found: com.thoughtworks.xstream#xstream;
1.2.2
[ivy:resolve] ==== mavenProxy: tried
[ivy:resolve]
http://defiant/maven2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom
[ivy:resolve] -- artifact com.thoughtworks.xstream#xstream;1.2.2!
xstream.jar:
I have a feeling that this is because I tried to cheat and tell ivy
that I am using an archiva repo when actually they are just web
pages I downloaded from atlassians archiva repo. So I suppose I
should populate my own repo based on the web pages I now have. But
how do I do this as a bulk operation? Can anybody help please? I am
using version 1.1.3 of archiva and version 2.0.0-rc1 of ivy.
--
Regards,
Andrew Marlow
http://www.andrewpetermarlow.co.uk
--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/