users@glassfish.java.net

libraries not found during application deployment and application start

From: <glassfish_at_javadesktop.org>
Date: Mon, 12 Jul 2010 06:42:22 PDT

I get warnings like this for all libraries referenced in a META-INF/MANIFEST.MF if the EAR archive contains WAR components:

[#|2010-07-12T14:41:51.063+0200|WARNING|glassfish|org.apache.jasper.runtime.TldScanner|_ThreadID=25;_ThreadName=Thread-3;|PWC6351: In
 TLD scanning, the supplied resource file:/glassfishv3/glassfish/domains/mdsTest1/config/lib/jtb/bserv.jar does not exist
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:114)
        at java.util.jar.JarFile.<init>(JarFile.java:133)
        at java.util.jar.JarFile.<init>(JarFile.java:70)
        at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:72)
        at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:48)
        at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:68)
        at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104)
        at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71)
        at org.apache.jasper.runtime.TldScanner.scanJar(TldScanner.java:338)
        at org.apache.jasper.runtime.TldScanner.scanJars(TldScanner.java:529)
        at org.apache.jasper.runtime.TldScanner.scanTlds(TldScanner.java:268)
        at org.apache.jasper.runtime.TldScanner.onStartup(TldScanner.java:214)
        at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5453)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5364)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:506)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1820)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1509)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:93)
        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:229)
        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:214)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:307)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:172)

The JAR archive containing the MANIFEST is located in the lib folder of an ear archive.
The deployment is done by:

deploy --name Appl --upload=false --generatermistubs=true --libraries ApplLibs.jar Appl.ear

The server seems to create exploded format for the EAR archive at

/glassfishv3/glassfish/domains/mdsTest1/applications

and there all the libraries are; such as:

.../applications/Appl/lib/jtb/bserv.jar

The MANIFEST Class-Path for the libary above is "jtb/bserv.jar".
Why the server is looking at:

/glassfishv3/glassfish/domains/mdsTest1/config/lib

for a file jtb/bserv.jar which is at:

/glassfishv3/glassfish/domains/mdsTest1/applications/Appl/lib/jtb/bserv.jar

is the mystery.
I've never heard of libaries beeing located or searched for in the config folder of a domain.

Thanks for any help...
[Message sent by forum member 'petraleomue']

http://forums.java.net/jive/thread.jspa?messageID=477347