You can definitely use file: references to set up remote repos. I use this definition for maven.repo.remote in some projects:

maven.repo.remote=\
   file:${basedir}/../../shared/repository,\
   http://www.ibiblio.com/maven

Try using 'file:' instead of 'file://', the latter is not really kosher. Also, you probably need to go relative off ${basedir}.

However, note that there are some _severe_ issues with repo overrides and plugins. Plugins don't seem to be able to pick up remote and local repo overrides from a project's property files. This is why when I do my builds, all the dependencies the plugins themselves need come from ibiblio, and only my own dependencies come from my filesystem remote repo. Even then, everything totally breaks when I use the multiproject plugin, as it gets even more confused.

This issue is incredibly annoying and makes maven unusable in a number of situations... I filed a bug report about 7-8 months ago about this, but the functionality is still broken, and unfortunately I've not had the time to fix it myself, which has prevented me from moving a bunch of stuff to maven...


Robles, Rogelio wrote:


I need to support a closed building/deployment environment because the
production releases are built and deployed by our SCM admin team. They use a
clean and closed build box, using only officially approved tools: jdk, ant
and soon Maven ;-).

'remote' repositories are stored in our SCM server and project stakeholders
(developers and SCM admin team) get them through snapshots when is worth to
do it.

The structure that I have is this:

 /root
       /<scm-user-id>
           /projectX
               /component1
               /component2
               /component3
           /thirdparty
               /maven
                   /repo
           /internal
               /repo


As you can see the <scm-user-id> is different for all the stakeholders of the project so I can't use hard coded absolute directory names for the repositories location. Then I use relative URLs for references:

In component1's project.properties file I have:

maven.repo.remote=file://../../thirdparty/maven/repo,
file://../../internal/repo

This produces:

Attempting to download commons-lang-1.0.1.jar.
WARNING: Failed to download commons-lang-1.0.1.jar.

And I don't get the artifacts installed in my local repository.

At the beginning I was under the impression that I can't use relative URLs,
but I tested moving the 'remote' repositories as siblings of my components,
under projectX, and everything works fine, with this:

maven.repo.remote=file://../thirdparty/maven/repo, file://../internal/repo

Is there a possible solution for this static properties-file-only solution?
do I need to create a dynamic solution? I have thought of instead of
relative URL's generate absolute URLS at runtime using jelly, is this
possible?

Rogelio

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to