Attached is an incomplete attempt at building the jar. I don't have time to
figure out how to convert the fileset into the space delimited list of files
needed for the classpath attribute.

-- Robert

----- Original Message -----
From: "Robert Simmons" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, January 26, 2003 11:56 PM
Subject: Re: Single JAR with all the libs? -> rejar the distrib ...


> Incidentally you should probably index that jar since it will have lots of
> classes and make the classloader throw fits trying to find things.
> Performance wise its best to index.
>
> ----- Original Message -----
> From: "Robert Simmons" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Sunday, January 26, 2003 11:55 PM
> Subject: Re: Single JAR with all the libs? -> rejar the distrib ...
>
>
> > 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]>
> >
>
>
> ---------------------------------------------------------------------
> 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]>
>
<?xml version="1.0"?>
<project default="echo" basedir="." name="Apache Cocoon Golfball">

  <fileset id="golfball.jars" dir="./lib/" includes="*.jar"/>

  <property name="golfball.entries" refid="golfball.jars"/>  

  <target name="echo">
    <echo message="${golfball.entries}"/>
  </target>

  <target name="golfball" description="build a jar library containg all needed jars.">
    <jar basedir="./lib" destfile="./cocoon-all.jar">
      <manifest>
        <attribute name="Built-By" value="${user.name}"/>
        <section name="common">
          <attribute name="Specification-Version" value="${version}"/>
          <attribute name="Implementation-Title" value="Cocoon"/>
          <attribute name="Implementation-Version" value="2.1"/> 
          <attribute name="Implementation-Vendor" value="Apache Cocoon Project."/>
		  <!-- Note, I am not sure how to transform a fileset into a space delimited list with ant -->
		  <attribute name="Class-Path" value="${a-space-delimited-list-of-all-jars.}"
        </section>
      </manifest>
      <fileset dir="./lib/" includes="*.jar"/>
    </jar> 
  </target>

</project>

---------------------------------------------------------------------
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