Ok…I figured this out…
Changed my geronimo-web.xml file to
include a dependency…
<?xml version="1.0"
encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
<sys:environment>
<sys:dependencies>
<sys:dependency>
<sys:groupId>org.apache.geronimo.configs</sys:groupId>
<sys:artifactId>sharedlib</sys:artifactId>
<sys:version>2.0.2</sys:version>
<sys:type>car</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
<context-root>/interlace</context-root>
</web-app>
From: Anil Arora
[mailto:aarora@interlacesystems.com]
Sent: Thursday, November 01, 2007
1:13 PM
To: user@geronimo.apache.org
Subject: Problems deploying
exploded webapp
I am trying to deploy my exploded webapp application but
I’m running into class not found issues.
Error: Unable to distribute interlace:
org.apache.geronimo.common.DeploymentException: Failed to load
servlet class
com.interlacesystems.system.ISStartupServlet
Failed to load
servlet class
com.interlacesystems.system.ISStartupServlet
com.interlacesystems.system.ISStartupServlet
in classloader
default/interlace/1193941770453/war
On the server side…this looks like
13:04:47,734 ERROR [Deployer] Deployment failed due to
org.apache.geronimo.common.DeploymentException: Failed to
load servlet class com
.interlacesystems.system.ISStartupServlet
at
org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder.discoverPOJOWeb
Services(JAXWSServiceBuilder.java:169)
at
org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder.discoverWebServ
ices(JAXWSServiceBuilder.java:110)
at
org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder.findWebServices
(JAXWSServiceBuilder.java:92)
at
org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder$$FastClassByCGL
IB$$5b2252ff.invoke(<generated>)
This class should be loaded via the sharedlib. I
changed the config.xml to include the following…
<module
name="org.apache.geronimo.configs/sharedlib/2.0.2/car">
<gbean
name="SharedLib">
<attribute name="classesDirs">${interlace.home},${interlace.home}/internal/interlace/bundles,${interlace.home}/interlace/bundles</attribute>
<attribute
name="libDirs">${interlace.home}/internal/lib,${interlace.home}/lib</attribute>
</gbean>
</module>
I even tried hard coding the absolute path, so I don’t
think it’s related to the system property.
I debugged this using my ide and I see that the jar files
are added to multiparentClassloader. Just doesn’t see to pick it
up.
Do I need to add a reference or dependency in my Geronimo-web.xml?
This is what it looks like now.
<?xml version="1.0"
encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
<context-root>/interlace</context-root>
</web-app>
Anil