I have thought about this as well, but thinking that perhaps a pom with 
dependencies and then using the assembly plugin to create the final 
distribution would be good...  but then I realized that it would be better in a 
corporate environment to provide them in a single tested archive or deployment 
automation package.

You can be certain in such an environment that nothing has been tampered with, 
and that all required pieces are actually available.

The idea is neat, but it has certain traceability drawbacks.  I've been a 
little more interested in the possibility of deployment using 'git'.  The ease 
of upgrade with a fetch/pull and rollback with a simple checkout command has me 
intrigued.  It also has great anti-tamper and traceability built in.

I suppose all of these concerns are more pertinent in a server deployment 
environment as opposed to an end user client application experience though...  
I can see where a distribution through maven would be nice there, although if 
that trended you may find that central repos wouldn't be too happy about an 
uptick in traffic.


-----Original Message-----
From: Eric Kolotyluk [mailto:eric.koloty...@gmail.com] 
Sent: Thursday, June 21, 2012 2:54 PM
To: Maven Users List
Subject: Maven for Software Installation

I have brought this notion up before, but I have been thinking about it a bit 
more.

Would it make sense to use Maven technology for software deployment and 
installation as opposed to just builds?

What I envision is something akin to the Global Assembly Cache in .NET, but for 
Maven artifacts. In particular, the local repository would act like a GAC, but 
you might want to separate a system local repository from the user local 
repositories.

The basic idea is that when deploying/installing software you would not bundle 
all your dependent artifact into your installer, rather you would just bundle 
their coordinates. At installation time you would install the Maven Installer 
if it was not already there, then your installer would work in conjunction with 
the Maven Installer. Basically the Maven Installer subsystem would simply 
download the dependent artifacts from Maven Central or elsewhere, and put them 
in the System Repository (similar to the GAC).

One benefit of this is that if you have a lot of software that all reference 
the same artifacts, they can share copies. Other benefits would be similar to 
those for the .NET GAC, although hopefully we could avoid some of the problems 
the GAC has created.

Another benefit is that installers could be smaller by not bundling in 
dependent artifacts. Installation could be faster in that if dependent 
artifacts are already in the System Repository downloading and installing them 
is unnecessary.

So am I just thinking crazy, or is there any potential benefit to this idea?

Cheers, Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to