Hi,
I have been trying to deploy my RPC app on Tomcat for 1 week. I always
have the same error and I really don't know where it could come from.
It could be a basic error, but as I don't have any experience with
Tomcat I can't resolve it.
Here is how I built my app:
I created a Tomcat webapp called SGFace (with Eclipse) that I put in
the Tomcat webapps folder. Then I created two folders "lib" and
"classes" in SGFace/WEB-INF where I copied respectively "gwt-
servlet.jar" and the folder "com" there was in the "bin" folder of my
GWT app (let's call it SGF). I also created a web.xml file in the WEB-
INF/ folder. And finally, I compiled my code with SGF-compile and
copied all the output files contained in SGF/www/com.ucsd.SGF in the
SGFace/ folder.
So in the end, I have something like that:
webapps/SGFace/ *.js ; *.html ; *.xml + the 4 files that Eclipse
created for the Tomcat project
(.classpath, .cvsignore, .project, .tomcatplugin)
webapps/SGFace/WEB-INF/web.xml
webapps/SGFace/WEB-INF/lib/com/ucsd/client ; public ; server
webapps/SGFace/WEB-INF/classes/gwt-servlet.jar
And my web.xml looks like:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<display-name>GWT</display-name>
<description>
GWT example
</description>
<servlet>
<servlet-name>FileTool</servlet-name>
<servlet-class>com.ucsd.server.FileToolImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileTool</servlet-name>
<url-pattern>/FileTool</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>SGF.html</welcome-file>
</welcome-file-list>
</web-app>
My SGF.gwt.xml is like that:
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<inherits name='org.gwtwidgets.WidgetLibrary'/>
<!-- Specify the app entry point class. -->
<entry-point class='com.ucsd.client.SGF'/>
<servlet class="com.ucsd.server.FileToolImpl" path="/FileTool"/>
</module>
When I go to
http://localhost:8080/SGFace with my web browser the page
get stuck on the first RPC (nothing else happens, even just displaying
buttons or text).
The Tomcat log says:
20 mars 2008 02:35:05 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
20 mars 2008 02:35:05 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
20 mars 2008 02:35:25 org.apache.catalina.core.ApplicationContext log
INFO: La servlet FileTool est marqué comme indisponible
20 mars 2008 02:35:25 org.apache.catalina.core.ApplicationContext log
GRAVE: Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@54172f
com.ucsd.server.FileToolImpl
java.lang.ClassNotFoundException: com.ucsd.server.FileToolImpl
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1360)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1206)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1083)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
806)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
129)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)
20 mars 2008 02:35:25 org.apache.catalina.core.StandardWrapperValve
invoke
GRAVE: Exception lors de l'allocation pour la servlet FileTool
java.lang.ClassNotFoundException: com.ucsd.server.FileToolImpl
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1360)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1206)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1083)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
806)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
129)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)
Could anyone tell me what's going wrong?
Thanks for your help,
VaL
PS: I also tried without creating the webapp via Eclipse (just
creating the folders and copying the same files into the same folders
as I said, but Tomcat tells me that the ressource is not available. It
doesn't even display something!)