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