[ajug-members] Internal Maven remote repositories
James Mitchell
james.l.mitchell at mac.com
Tue Feb 20 10:52:31 EST 2007
Not personally, no. This is because all of my Maven work is
typically open source stuff (Apache, SourceForge, etc).
The Maven proxy configuration is used to configure your proxy
settings (if your network connection needs it). It's basically the
same information that you would use if you had to configure cygwin or
Putty or Firefox or ... or ...
Proxy configuration is generally location specific (work, vpn, etc)
and user specific, so the Maven proxy settings will not be part of
the project configuration. Meaning that all of the developers on
your project will have to have their own proxy configurations as well.
Also, you will have to enable and disable it when you move from
behind the proxy to a regular network connection (home vs work or
whatever). This is the same thing you have to do with Firefox, IE, etc.
http://maven.apache.org/guides/mini/guide-proxies.html
--
James Mitchell
678.910.8017
On Feb 20, 2007, at 9:28 AM, tooger at bellsouth.net wrote:
> Yep - I meant to say mvn deploy below.
>
> So, I take it you don't use proxies then?
>
>>
>> From: James Mitchell <james.l.mitchell at mac.com>
>> Date: 2007/02/20 Tue AM 08:25:16 EST
>> To: "General AJUG membership forum (100-200 messages/month)"
>> <ajug-members at ajug.org>
>> Subject: Re: [ajug-members] Internal Maven remote repositories
>>
>>> ...you have built with the rest of the team so they can build and
>>> run
>>> against it. This is performed using 'mvn install'
>>
>> Not exactly. mvn 'install' performs a local installation only. You
>> want mvn 'deploy', so that Maven will deploy to the repository or
>> repositories that you have specified for the project.
>>
>> http://maven.apache.org/plugins/maven-deploy-plugin/
>>
>>
>> You can have multiple repositories specified for a project, so if
>> some dependency isn't found in the first one, it will keep looking
>> down the list of repos.
>>
>> Setting up a remote repository is pretty trivial. Configuration is
>> simply a piece of xml with a target URL that you can push files to
>> (via ftp, ssh, scp, whatever).
>>
>> In simple cases, this might just be localhost. A more complicated
>> setup might be that you use a file server in the corporate server
>> room or data center. Either way, you set this up so that others can
>> access these files and use them as part of the normal build process.
>>
>> I would recommend using a server that also has Apache running so you
>> can also publish the Maven generated site for the project, outlining
>> all the great stuff you guys are doing, with reports like PMD,
>> FindBugs, Dependencies, Site Graph, etc.
>>
>> This is also a great place to give your new developers a place to go
>> to read up on development practices and such for your company. Of
>> course, these can be separate servers if you like.
>>
>> Maven is pretty flexible in this respect.
>>
>> Does that answer your question? I'd be happy to expand on any of
>> this if there is still confusion.
>>
>>
>> --
>> James Mitchell
>> 678.910.8017
>>
>>
>>
>> On Feb 20, 2007, at 7:55 AM, Jason Chambers wrote:
>>
>>> I'm looking for some Maven expertise out there.
>>>
>>> Maven has a great concept of repositories. There are two types of
>>> repositories - local and remote. Freshly installed out of the box,
>>> your local repository contains nothing but as Maven gets put to
>>> work, it gets populated with any dependencies it may be missing.
>>> Let's say your project depends on Spring. When you build your
>>> project, Maven will check your local repository first to see if
>>> Spring is there. If not, it pulls it down from a remote repository
>>> (by default this is http://repo1.maven.org/maven2 I believe) . The
>>> next time you do a build, it becomes much quicker because Spring is
>>> already cached in the local repository.
>>>
>>> Now, your project is itself a dependency required by another
>>> project. So, you 'mvn install' and this action puts the target
>>> (e.g. Jar) into the local repository making it visible to you and
>>> your other projects you may be working on.
>>>
>>> Further along in development, you are ready to share the components
>>> you have built with the rest of the team so they can build and run
>>> against it. This is performed using 'mvn install'. However, you
>>> don't have access to install to the remote repository - and you're
>>> probably working on non open source stuff anyway so you probably
>>> don't want to publish this out to the world anyway.
>>>
>>> So, before you know it you are at the point where you need an
>>> internal remote repository. Something that sits behind the firewall
>>> between the remote repositories and the development team.
>>>
>>> My question is simply, what is the best approach to setting up this
>>> internal remote repository? Do you use a mirror of repo1? Do you
>>> shut off access to the remote repositories? Do you use a maven
>>> proxy? If so, which one? http://maven-proxy.codehaus.org/ http://
>>> proximity.abstracthorizon.org/
>>>
>>> Jason
>>> _______________________________________________
>>> ajug-members mailing list
>>> ajug-members at ajug.org
>>> http://www.ajug.org/mailman/listinfo/ajug-members
>>
>> _______________________________________________
>> ajug-members mailing list
>> ajug-members at ajug.org
>> http://www.ajug.org/mailman/listinfo/ajug-members
>>
>
> _______________________________________________
> ajug-members mailing list
> ajug-members at ajug.org
> http://www.ajug.org/mailman/listinfo/ajug-members
More information about the ajug-members
mailing list