Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 70745 invoked from network); 3 Jan 2008 18:20:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Jan 2008 18:20:37 -0000 Received: (qmail 7943 invoked by uid 500); 3 Jan 2008 18:20:24 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 7924 invoked by uid 500); 3 Jan 2008 18:20:24 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 7913 invoked by uid 99); 3 Jan 2008 18:20:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Jan 2008 10:20:24 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [69.147.95.68] (HELO smtp105.plus.mail.sp1.yahoo.com) (69.147.95.68) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 03 Jan 2008 18:19:59 +0000 Received: (qmail 18323 invoked from network); 3 Jan 2008 18:20:03 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-YMail-OSG:Mime-Version:In-Reply-To:References:Content-Type:Message-Id:From:Subject:Date:To:X-Mailer; b=p3Ay3kpO32xkXuhnpwF6evj0tSZI9ucpIxuen7AwjqEGLes+KOW2QS/Ou23qLm6t+8E+baNT6dpgKRjocWsosymZYBrGGDRLb+gH+L4rfKS396zLJWfSZ1nvXOkmxuTaCBg8qi9ybWv4ve9G9yt0gtJe94LK6PJeLgQF10BJev4= ; Received: from unknown (HELO ?192.168.1.103?) (david_jencks@67.102.173.8 with plain) by smtp105.plus.mail.sp1.yahoo.com with SMTP; 3 Jan 2008 18:20:02 -0000 X-YMail-OSG: mUTnfUIVM1l73X2r8ew70BTPKje4RYWUklOvc1brwWby8MSVNSBrNmZ2_8cgTNapPq1MSLD_GVe5tOd8hQ1WK_YN4yfKvsQ5I4NguULSGknWhdJZSoXnKBy1n9N. Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <8a855ce00801030438u36302der21a4eed330d8ba50@mail.gmail.com> References: <8a855ce00801030438u36302der21a4eed330d8ba50@mail.gmail.com> Content-Type: multipart/alternative; boundary=Apple-Mail-4--113612037 Message-Id: <06D84715-7D30-486C-89E7-8363B08CC995@yahoo.com> From: David Jencks Subject: Re: Problem with Struts in Geronimo 2.0.2 Date: Thu, 3 Jan 2008 10:20:03 -0800 To: user@geronimo.apache.org X-Mailer: Apple Mail (2.752.3) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-4--113612037 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed There were a lot of bugs in the geronimo 1.1.1 manifest classpath handling and I fixed them.... IIRC I was considering making strict checking optional but couldn't think of a good way to do it. See https://issues.apache.org/jira/browse/GERONIMO-3316 thanks david jencks On Jan 3, 2008, at 4:38 AM, Hari Krishna Korrapati wrote: > Hi, > > I am working on a ear application on Geronimo-2.0.2. > The web module of ear uses struts-1.1.jar. MANIFEST file of > struts-1.1 has the following class path entry > > Class-Path: commons-beanutils.jar commons-collections.jar commons-dig > ester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar s > truts-legacy.jar > > But my ear has something like common-beanutils-1.6.1.jar , common- > collections-2.0.jar, etc.. > While deploying the ear, struts is looking for commons- > beanutils.jar, where as EAR has jar, but with version. > > The exception which i am getting is: > > Manifest class path entries must be a valid jar file (JAVAEE 5 > Section 8.2): path=commons-beanutils.jar, resolved to > targetURI=commons-beanutils.jar > looking at: struts-1.1.jar current classpath: [WEB-INF/ > classes/, ../commons-dbcp-1.0.jar, ../regexp-1.2.jar, ../j2ssh- > ant-0.2.2.jar , ../odmg-3.0.jar, ../j2ssh-core-0.2.2.jar, ../ > commons-beanutils-1.6.1.jar, ../commons-pool-1.0.1.jar, ../commons- > codec-1.3.jar, ../oro-2.0.7.jar, ../commons-validator-1.1.4.jar, ../ > Acme-1.0.jar, ../j2ee-1.4.jar, ../struts- 1.1.jar, ../commons- > beanutils.jar] ignoring modules: [dao-rc.jar, biz-rc.jar, > sampleweb-rc.war] > org.apache.geronimo.common.DeploymentException: Manifest class path > entries must be a valid jar file (JAVAEE 5 Section 8.2): > path=commons-beanutils.jar, resolved to targetURI=commons- > beanutils.jar > looking at: struts-1.1.jar current classpath: [WEB-INF/ > classes/, ../commons-dbcp-1.0.jar, ../regexp-1.2.jar, ../j2ssh- > ant-0.2.2.jar, ../odmg- 3.0.jar, ../j2ssh-core-0.2.2.jar, ../ > commons-beanutils-1.6.1.jar, ../commons-pool-1.0.1.jar, ../commons- > codec-1.3.jar, ../oro-2.0.7.jar, ../commons-validator-1.1.4.jar, ../ > Acme-1.0.jar, ../j2ee-1.4.jar, ../struts-1.1.jar , ../commons- > beanutils.jar] ignoring modules: [dao-rc.jar, biz-rc.jar, > sampleweb-rc.war] > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestCl > assPath(DeploymentContext.java:367) > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestCl > assPath (DeploymentContext.java:371) > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestCl > assPath(DeploymentContext.java:286) > at > org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicIni > tContext (AbstractWebModuleBuilder.java:332) > at > org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext( > TomcatModuleBuilder.java:290) > at org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$ > $FastClassByCGLIB$$6f85ec2c.invoke () > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > (FastMethodInvoker.java:38) > at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > (GBeanOperation.java:124) > at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > (GBeanInstance.java:830) > at org.apache.geronimo.gbean.runtime.RawInvoker.invoke > (RawInvoker.java:57) > at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke > (RawOperationInvoker.java:35) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept > (ProxyMethodInterceptor.java:96) > at org.apache.geronimo.j2ee.deployment.ModuleBuilder$ > $EnhancerByCGLIB$$72b50ef.initContext () > at > org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext > (SwitchingModuleBuilder.java:159) > at org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$ > $FastClassByCGLIB$$d0c31844.invoke () > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > (FastMethodInvoker.java:38) > at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > (GBeanOperation.java:124) > at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > (GBeanInstance.java:830) > at org.apache.geronimo.gbean.runtime.RawInvoker.invoke > (RawInvoker.java:57) > at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke > (RawOperationInvoker.java:35) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept > (ProxyMethodInterceptor.java:96) > at org.apache.geronimo.j2ee.deployment.ModuleBuilder$ > $EnhancerByCGLIB$$72b50ef.initContext () > at > org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguratio > n(EARConfigBuilder.java:576) > at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$ > $FastClassByCGLIB$$38e56ec6.invoke () > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > (FastMethodInvoker.java:38) > at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > (GBeanOperation.java:124) > at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > (GBeanInstance.java:830) > at org.apache.geronimo.gbean.runtime.RawInvoker.invoke > (RawInvoker.java:57) > at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke > (RawOperationInvoker.java:35) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept > (ProxyMethodInterceptor.java:96) > at org.apache.geronimo.j2ee.deployment.CorbaGBeanNameSource$ > $EnhancerByCGLIB$$3e58cb04.buildConfiguration () > at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java: > 304) > at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java: > 126) > at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$ > $734a235d.invoke () > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > (FastMethodInvoker.java:38) > at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > (GBeanOperation.java:124) > at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > (GBeanInstance.java:865) > at org.apache.geronimo.kernel.basic.BasicKernel.invoke > (BasicKernel.java:239) > at > org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDe > ploy (AbstractDeployCommand.java:116) > at > org.apache.geronimo.deployment.plugin.local.DistributeCommand.run > (DistributeCommand.java:61) > at java.lang.Thread.run(Thread.java:595) > Caused by: java.io.IOException : Could not create JarFile for file: > E:\Geronimo 2.0.2\geronimo-tomcat6-jee5-2.0.2-bin\geronimo-tomcat6- > jee5-2.0.2\repository\sample-rc\sampleapp\rc\sampleapp-rc.car > \commons-beanutils.jar > at org.apache.geronimo.deployment.DeploymentContext > $DefaultJarFileFactory.newJarFile (DeploymentContext.java:271) > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestCl > assPath(DeploymentContext.java:365) > ... 44 more > Caused by: java.util.zip.ZipException: The system cannot find the > file specified > at java.util.zip.ZipFile.open(Native Method) > at java.util.zip.ZipFile.(ZipFile.java:204) > at java.util.jar.JarFile.(JarFile.java:132) > at java.util.jar.JarFile.( JarFile.java:97) > at org.apache.geronimo.deployment.DeploymentContext > $DefaultJarFileFactory.newJarFile(DeploymentContext.java:269) > ... 45 more > > > > Then i changed class path entry in manifest file of struts to have > the versions which i use, like > Class-Path: commons-beanutils-1.6.1.jar commons-collections-2.1.jar c > ommons-digester-1.5.jar commons-logging-1.0.jar commons-validator-1.1 > .4.jar oro-2.0.7.jar struts-legacy-1.1.jar > After changing manifest file, i am not getting any errors and EAR > got deployed successfully. > > It worked fine with geronimo-1.1.1 without changing any thing, but > facing problem in geronimo 2.0.2 . > Please advice how to overcome this issue. > > Thanks and Regards, > Hari --Apple-Mail-4--113612037 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 There were a lot of bugs in the = geronimo 1.1.1 manifest classpath handling and I fixed them.... =A0IIRC = I was considering making strict checking optional but couldn't think of = a good way to do it.


thanks
david = jencks

On Jan 3, 2008, at 4:38 AM, Hari Krishna = Korrapati wrote:

Hi,

I am working on a ear application on = Geronimo-2.0.2.
The web module of ear uses struts-1.1.jar. MANIFEST = file of struts-1.1 has the following class path entry

Class-Path:=A0 commons-beanutils.jar = commons-collections.jar commons-dig
=A0ester.jar commons-logging.jar = commons-validator.jar jakarta-oro.jar = s
=A0truts-legacy.jar

But my ear has something like = common-beanutils-1.6.1.jar , common-collections-2.0.jar, etc..
While = deploying the ear, struts is looking for commons-beanutils.jar, = where as EAR has jar, but with version.

The exception which i = am getting is:

Manifest class path entries must be a valid jar = file (JAVAEE 5 Section 8.2): path=3Dcommons-beanutils.jar, resolved = to targetURI=3Dcommons-beanutils.jar
=A0=A0=A0 looking at: = struts-1.1.jar=A0=A0=A0 current classpath: [WEB-INF/classes/, = ../commons-dbcp-1.0.jar, ../regexp-1.2.jar, ../j2ssh- ant-0.2.2.jar , = ../odmg-3.0.jar, ../j2ssh-core-0.2.2.jar, = ../commons-beanutils-1.6.1.jar, ../commons-pool-1.0.1.jar, = ../commons-codec-1.3.jar, ../oro-2.0.7.jar, = ../commons-validator-1.1.4.jar, ../Acme-1.0.jar, ../j2ee-1.4.jar, = ../struts- 1.1.jar, ../commons-beanutils.jar]=A0=A0=A0 ignoring modules: = [dao-rc.jar, biz-rc.jar, = sampleweb-rc.war]
org.apache.geronimo.common.DeploymentException: = Manifest class path entries must be a valid jar file (JAVAEE 5 Section = 8.2): path=3Dcommons-beanutils.jar, resolved to = targetURI=3Dcommons-beanutils.jar
=A0=A0=A0 looking at: = struts-1.1.jar=A0=A0=A0 current classpath: [WEB-INF/classes/, = ../commons-dbcp-1.0.jar, ../regexp-1.2.jar, ../j2ssh-ant-0.2.2.jar, = ../odmg- 3.0.jar, ../j2ssh-core-0.2.2.jar, = ../commons-beanutils-1.6.1.jar, ../commons-pool-1.0.1.jar, = ../commons-codec-1.3.jar, ../oro-2.0.7.jar, = ../commons-validator-1.1.4.jar, ../Acme-1.0.jar, ../j2ee-1.4.jar, = ../struts-1.1.jar , ../commons- beanutils.jar]=A0=A0=A0 ignoring = modules: [dao-rc.jar, biz-rc.jar, sampleweb-rc.war]
=A0=A0=A0 at = org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassP= ath(DeploymentContext.java:367)
=A0=A0=A0 at = org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassP= ath (DeploymentContext.java:371)
=A0=A0=A0 at = org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassP= ath(DeploymentContext.java:286)
=A0=A0=A0 at = org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicInitCon= text (AbstractWebModuleBuilder.java:332)
=A0=A0=A0 at = org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(Tomc= atModuleBuilder.java:290)
=A0=A0=A0 at = org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLI= B$$6f85ec2c.invoke (<generated>)
=A0=A0=A0 at = net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
=A0=A0=A0 = at = org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvok= er.java:38)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke = (GBeanOperation.java:124)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:= 830)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)=A0=A0=A0 at = org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke = (RawOperationInvoker.java:35)
=A0=A0=A0 at = org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMet= hodInterceptor.java:96)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$72b50e= f.initContext (<generated>)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(Swi= tchingModuleBuilder.java:159)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGL= IB$$d0c31844.invoke (<generated>)
=A0=A0=A0 at = net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
=A0=A0=A0 = at = org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvok= er.java:38)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke = (GBeanOperation.java:124)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:= 830)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)=A0=A0=A0 at = org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke = (RawOperationInvoker.java:35)
=A0=A0=A0 at = org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMet= hodInterceptor.java:96)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$72b50e= f.initContext (<generated>)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EA= RConfigBuilder.java:576)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38= e56ec6.invoke (<generated>)
=A0=A0=A0 at = net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
=A0=A0=A0 = at = org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvok= er.java:38)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke = (GBeanOperation.java:124)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:= 830)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)=A0=A0=A0 at = org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke = (RawOperationInvoker.java:35)
=A0=A0=A0 at = org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMet= hodInterceptor.java:96)
=A0=A0=A0 at = org.apache.geronimo.j2ee.deployment.CorbaGBeanNameSource$$EnhancerByCGLIB$= $3e58cb04.buildConfiguration (<generated>)
=A0=A0=A0 at = org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:304)
=A0=A0= =A0 at = org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:126)
=A0=A0= =A0 at = org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke= (<generated>)
=A0=A0=A0 at = net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
=A0=A0=A0 = at = org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvok= er.java:38)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanOperation.invoke = (GBeanOperation.java:124)
=A0=A0=A0 at = org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:= 865)
=A0=A0=A0 at = org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)<= br>=A0=A0=A0 at = org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy= (AbstractDeployCommand.java:116)
=A0=A0=A0 at = org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(Distribu= teCommand.java:61)
=A0=A0=A0 at = java.lang.Thread.run(Thread.java:595)
Caused by: = java.io.IOException : Could not create JarFile for file: E:\Geronimo = 2.0.2\geronimo-tomcat6-jee5-2.0.2-bin\geronimo-tomcat6-jee5-2.0.2\reposito= ry\sample-rc\sampleapp\rc\sampleapp-rc.car\commons-beanutils.jar
=A0= =A0=A0 at = org.apache.geronimo.deployment.DeploymentContext$DefaultJarFileFactory.new= JarFile (DeploymentContext.java:271)
=A0=A0=A0 at = org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassP= ath(DeploymentContext.java:365)
=A0=A0=A0 ... 44 more
Caused by: = java.util.zip.ZipException: The system cannot find the file specified =
=A0=A0=A0 at java.util.zip.ZipFile.open(Native Method)
=A0=A0=A0 = at java.util.zip.ZipFile.<init>(ZipFile.java:204)
=A0=A0=A0 at = java.util.jar.JarFile.<init>(JarFile.java:132)
=A0=A0=A0 at = java.util.jar.JarFile.<init>( JarFile.java:97)
=A0=A0=A0 at = org.apache.geronimo.deployment.DeploymentContext$DefaultJarFileFactory.new= JarFile(DeploymentContext.java:269)
=A0=A0=A0 ... 45 = more



Then i changed class path entry in manifest file of = struts to have the versions which i use, like
Class-Path:=A0 commons-beanutils-1.6.1.jar = commons-collections-2.1.jar c
=A0ommons-digester-1.5.jar = commons-logging-1.0.jar commons-validator-1.1
=A0.4.jar oro-2.0.7.jar = struts-legacy-1.1.jar
After changing manifest file, i am not = getting any errors and EAR got deployed successfully.

It worked fine with geronimo-1.1.1 without changing any = thing, but facing problem in geronimo 2.0.2 .
Please advice how to = overcome this issue.
=A0
Thanks and = Regards,
Hari

= --Apple-Mail-4--113612037--