maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Siegfried Göschl" <siegfried.goes...@it20one.at>
Subject Re: [Uberjar plugin] question?
Date Thu, 19 Dec 2002 08:06:24 GMT
Does it run (after downloading the plugin of course) wih Maven B7 ... 
then I could start grooming ...

Siegfried Goeschl
CTO
=================================
IT20one GmbH
mail: siegfried.goeschl@it20one.at
www.it20one.at


On 18 Dec 2002 at 19:49, Pete Kazmier wrote:

> On Mon, Dec 16, 2002 at 05:22:38PM +0000, Emmanuel Venisse wrote: > I
> rename the thread for Pete.
> 
> Thanks, I would never have noticed otherwise!  See comments inlined
> below.
> 
> > -----Message d'origine-----
> > De: "Siegfried_Göschl" <siegfried.goeschl@it20one.at>
> > A: "Turbine Maven Users List"
> > <turbine-maven-user@jakarta.apache.org> Date: 16/12/02 Objet: Re:
> > Rep:Re: Rep:New Maven Plugins available ...
> > 
> > I should call my plugin underjar since it uses the low-tech approach
> > of unpacking all dependent JARs ... :-)
> 
> The uberjar plugin utilizes Classworlds,
> http://classworlds.werken.com, courtesy of Bob and Jason.  Basically,
> uberjar packs all of your project's dependencies into one super jar. 
> This super jar can then be executed on the command line as follows:
> 
>     java -jar uber.jar
> 
> No need to distribute anything other than the single uberjar.
> Everything else is taken care of automagically.  Ok, so not really, a
> custom protocol handler and some bootstrap code do the real work. Here
> is the layout of the uber jar:
> 
>     ./
>         WORLDS-INF/
>             classworlds.jar
>             conf/
>                 classworlds.conf
>             lib/
>                 myapp.jar
>                 dep1.jar
>                 dep2.jar
>                 dep3.jar
>                 ...
>         com/
>             werken/
>                 classworlds/
>                     boot/
>                         Bootstrapper.class
>                         InitialClassLoader.class
>                     protocol/
>                         jar/
>                             Handler.class
>                             JarUrlConnection.class
> 
> You'll notice that your project and its dependencies are located in
> the WORLDS-INF/lib directory (in JAR files).  You'll also notice the
> classworlds JAR and configuration files, as well as the four werken
> classes in the root of the uber jar.  These classes are the magic that
> bootstraps classworlds which handles the setting of your classpath. 
> The classpath includes all of the JARs in the lib directory by
> default.
> 
> > +) Does classworlds handlk the nasty mail.jar problem - mail 
> > integration fails if I pack the mail.jar into the executable JAR -
> > blows up reading the configuration ... :-( 
> 
> I'd say give it a try.  The classpath is set to each of the JARs, for
> example, I have log4j.properties file in the root of myapp.jar, and
> log4j has no problem discovering it.
> 
> > +) Does uberjar supports the exclusion of JARs?! 
> 
> Not at the moment.  It packs all of your dependencies so that the
> application can run standalone.  You can provide your own custom
> classworlds.conf which you can groom to exclude certain JARs from the
> classpath if needed.
> 
> Thanks,
> Pete
> 
> --
> To unsubscribe, e-mail:  
> <mailto:turbine-maven-user-unsubscribe@jakarta.apache.org> For
> additional commands, e-mail:
> <mailto:turbine-maven-user-help@jakarta.apache.org>
> 


Mime
View raw message