geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Problem with Struts in Geronimo 2.0.2
Date Fri, 04 Jan 2008 17:30:35 GMT

On Jan 4, 2008, at 2:40 AM, Hari Krishna Korrapati wrote:

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

The other solution I can think of is to put all the jars (struts and  
all its dependencies) into the geronimo repository in appropriate  
locations and use dependencies from your ear plan rather than  
including them in your ear.

We only pay attention to the manifest classpath entries inside javeee  
artifacts, we ignore them for other repository entries.

thanks
david jencks
>
>
>
>
> On Jan 3, 2008 11:50 PM, David Jencks < david_jencks@yahoo.com> 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.getCompleteManifestC 
>> lassPath(DeploymentContext.java:367)
>>     at  
>> org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestC 
>> lassPath (DeploymentContext.java:371)
>>     at  
>> org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestC 
>> lassPath(DeploymentContext.java:286)
>>     at  
>> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicIn 
>> itContext (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.initContex 
>> t(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.buildConfigurati 
>> on(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.doD 
>> eploy (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.getCompleteManifestC 
>> lassPath(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


Mime
View raw message