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