1 2 Previous Next 26 Replies Latest reply: Sep 16, 2009 6:23 AM by Ales Justin RSS

Exploding jar libraries in deployments

jaikiran pai Master

Having an archived war file in AS-5.1.0 (Branch_5_x and trunk) which contains jar files in the WEB-INF/lib folder of the war leads to these jars being exploded to tmp folder too. Any specific reason why we are exploding the jars in the lib folder of the war? My understanding was that (like AS 4.x) we would explode just the war file (deployment) and not the libraries contained in the deployment.

myapp.war (archived)
|
|--- WEB-INF
| |
| |--- lib
| | |--- myapp.jar



The side effect of exploding the library jar files is that it can lead to the deployment to fail, because there's some deployment code (in tomcat) which expects these libraries to be archived jar files:

12:36:24,050 ERROR [TldConfig] Exception processing JAR at resource path /home/jpai/jbossas/branches/Branch_5_x/build/output/jboss-5.2.0.Beta/server/default/tmp/3j001-wsysts-fxwux83v-1-fxwuy9zz-9p/myapp-isolation-test.war/WEB-INF/lib/myapp.jar in context /myapp-isolation-test
java.util.zip.ZipException: error in opening zip file
 at java.util.zip.ZipFile.open(Native Method)
 at java.util.zip.ZipFile.<init>(ZipFile.java:203)
 at java.util.jar.JarFile.<init>(JarFile.java:132)
 at java.util.jar.JarFile.<init>(JarFile.java:97)
 at org.apache.catalina.startup.TldConfig.tldScanJar(TldConfig.java:461)
 at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:301)
 at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4540)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4308)
 at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
 at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
 at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:462)
 at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
 at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
 at org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:283)
 at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
 at $Proxy38.start(Unknown Source)
 at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
 at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
 at
...//trimmed irrelevant stacktrace



By the way, where does the code which does the tmp file exploding reside? Is it in AS or some MC component?


1 2 Previous Next