Actually there is another option. Package all of the jars into a jar so that
the contents of that jar are all of the files. Then alter the manifest of the
containing jar (cocoon-all.jar) and add a Class-Path attribute with the names
of each of the sub jars. Now putting the cocoon-all.jar in the path will
cause them all to be in the classpath.

ie:

cocoon-all.jar
-- META-INF/MANIFEST.MF
-- avalon-framework-20020627.jar
-- batik-all-1.5b2.jar
-- bsf-2.2.jar
-- (etc ...)

MANIFEST.MF
Created-By: Cocoon Developer Comittee.
Class-Path: avalon-framework-20020627.jar batik-all-1.5b2.jar bsf-2.2.jar
(etc ...)

Viola .. one large jar containing many small jars. This would take a comitter
with good knowledge of the build.xml abotu 10 min to implement. Make it 20 to
test it. :)

-- Robert


----- Original Message -----
From: "SAXESS - Hussayn Dabbous" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, January 26, 2003 1:43 PM
Subject: Re: Single JAR with all the libs? -> rejar the distrib ...


> If i understand you correct, you simply want to avoid deploying
> several cocoon-based webapps all containing tons of the same
> jar files ?
> And in order to keep your customers happy, you want to simplify
> the deployment by bundling all cocoon jars into one big jar,
> deploying this golfball.jar independently from cocoon into your
> appserver?
> Then your webapps get significantly smaller because
> you only have to deploy the cocoon configs and the webapp
> specifics ...?
>
> If this is what you want, you can do it in two ways:
>
>
> WAY I
> -----
> this is a very simplistic approach with some caveats, but
> it works. There may be a license problem here, but i
> don't know this for shure:
>
> 1.) unwar your cocoon distribution to any convenient place
> 2.) go to the WEB-INF/lib directory
> 3.) Now for each jarfile in the directory simply do:
>      jar xf thefile.jar
>      Of course you may skip all jars you dont need for your
>      distribution ...
> 4.) throw away the .jar files
> 5.) jar cf golfball.jar *
>
> Now you have one single jar file, that you can distribute to
> whereever your container needs it to serve as common cocoon
> classes for your webapps.
>
> Finally you could repack the cocoon.war from step 1.) without
> the lib/*.jar files, add your webapp specific data (config/files/
> programs) and deploy the result as co-webapps into your container ...
>
>
> But you have to keep one caveat in your mind:
>
> You may fall into strongly hidden compatibility issues when
> your webapps use other versions of the .jar modules you just
> have bundled to allclasses.jar
>
> If you take the single jars as they are, at least you can easier
> track down which module (.jar file) causes compatibility issues.
> And you can easier exchanche module jars if needed although i
> must admit, sometimes exchanging one jar out of a bunch may not
> be trivial at all ;-)
> The golfball.jar only allows to determine, which classes cause
> problems.
>
>
> WAY II
> ------
>
> If you are under unix, you can reach your goal by clever use of
> softlinks.
> In my development environment we sometimes have to run 5 to 10
> cocoon-based webapps all across multiple platforms, multiple
> containers and so on. And we found a nice solution, that fits for
> our purposes. If this is something, anyone would be interested in,
> we could share knowledge here, but since this is kind of special
> i wouldn't bother this list and do this offline.
> just drop me an email.
>
> regards, hussayn
>
> hope, that helps
>
>
> Robert Simmons wrote:
> > Is there a way to compress all the cocoon jars into one jar so I can
> > just drop in my application server like a golf ball and all cocoon
> > deployments will have access to it ?
> >
> > -- Robert
>
> --
> Dr. Hussayn Dabbous
> SAXESS Software Design GmbH
> Neuenhöfer Allee 125
> 50935 Köln
> Telefon: +49-221-56011-0
> Fax:     +49-221-56011-20
> E-Mail:  [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
>


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

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

Reply via email to