Would like to know whether we should manually change the manifest classpath of struts until unless the issue is fixed or any other walk around is there...
On Jan 3, 2008 11:50 PM, David Jencks <[EMAIL PROTECTED]> wrote: > 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.getCompleteManifestClassPath > (DeploymentContext.java:367) > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassPath( > DeploymentContext.java:371) > at > org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassPath > (DeploymentContext.java:286) > at > org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicInitContext( > AbstractWebModuleBuilder.java:332) > at > org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext( > TomcatModuleBuilder.java:290) > at > org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(<generated>) > 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(<generated>) > at > org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext( > SwitchingModuleBuilder.java:159) > at > org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(<generated>) > 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(<generated>) > at > org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration( > EARConfigBuilder.java:576) > at > org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>) > 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(<generated>) > 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(<generated>) > 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.doDeploy( > 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.getCompleteManifestClassPath > (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.<init>(ZipFile.java:204) > at java.util.jar.JarFile.<init>(JarFile.java:132) > at java.util.jar.JarFile.<init>( 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 > > > -- Regards, Hari
