Deploy gwt application on jboss

204 views
Skip to first unread message

chemba

unread,
Jul 11, 2008, 6:42:03 PM7/11/08
to Google Web Toolkit
Hi
I'm new to gwt and am trying to deploy a gwt application on jboss
along with my existing application.

Procedure Used
Client code (has a simple flextable which gets data from the server
(servlet) using rpc). The servlet actually talks to my existing
application. I tried creating a war file which has the following

project.war
<project dir>/code generated under build/www directory
WEB-INF
classes (contains my servlet class and impl class)
lib (contains gwt-servlet.jar and my existing application
jar files (that would be invoked by the servlet)
web.xml (which has the servlet class and servlet mapping)

I deployed this .. looks like it got deployed.. but when I access from
the web it says "page cannot be displayed"

can you please help me figure out what is wrong with this code (or
point me to the correct tutorial)

thanks a lot
Chemba

gregor

unread,
Jul 14, 2008, 8:05:32 AM7/14/08
to Google Web Toolkit
Hi Chemba,

Sounds like maybe your URL is not hitting the module HTML page.

The default access url formula (for localhost) for my WAR builds is:

http://localhost:8080/<war file name>/<path.to>.<module.gwt.xml file
name>/module.html

so for MyApp.war, com.foo.myapp.MyApp.gwt.xml & MyApp.html it would
be:

http://localhost:8080/MyApp/com.foo.myapp.MyApp/MyApp.html

regards
gregor

chemba

unread,
Jul 14, 2008, 1:42:18 PM7/14/08
to Google Web Toolkit
Hi gregor
Thanks a lot. I used the same. Looks like my localhost defaults to a
different address than the one that I use for deploy. I gave the
address explictly and now it displays the page. But I get a "stack
overflow at line 80" exception. My javascript (generated by GWT
compiler) does not have 80 lines...How should I debug this issue?

thanks again
chemba
> > Chemba- Hide quoted text -
>
> - Show quoted text -

gregor

unread,
Jul 14, 2008, 10:50:24 PM7/14/08
to Google Web Toolkit
Have you tried using the the compile/browse button from the dev shell
to see if it works with GWT's inbuilt Tomcat instance (which is
basically the same as deploying it to JBoss)?

chemba

unread,
Jul 15, 2008, 7:12:59 PM7/15/08
to Google Web Toolkit
Hi gregor
No, I did not get my program working under hosted mode as well.
I tried using the -noserver option and specified the port as 8080.
Looks like i'm getting an exception for the rpc call.
I see the following in the jboss log
----------------------------
java.lang.ClassNotFoundException: No ClassLoaders found for:
com.google.gwt.user.client.rpc.RemoteService
at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:
521)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:
415)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at
org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClassLoader.java:
682)
at
org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:
662)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:
200)
at org.jboss.mx.loading.ClassLoadingTask
$ThreadTask.run(ClassLoadingTask.java:131)
at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:
527)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:
415)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at
org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClassLoader.java:
682)
at
org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:
662)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:
200)
at org.jboss.mx.loading.ClassLoadingTask
$ThreadTask.run(ClassLoadingTask.java:131)
at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:
527)
at
org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:
415)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:592)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1345)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1204)
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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:
179)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
262)
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:
446)
at java.lang.Thread.run(Thread.java:619)
------------------------------

I'm doing the following
I used the gwt compiler and generated the following under /www
directory
<modulename>.nocache.js
<modulename>.html
hosted.html
history.html
clear.cache.gif
and a bunch of .cache files

I created the WEB-INF directory and added the following
classes dir
<servlet>.class
lib dir
gwt-servlet.jar
web.xml

The servlet.class is part of my existing application. The client will
invoke the servlet classes using gwt rpc

Is this the correct procedure?

thanks
chemba
> > > - Show quoted text -- Hide quoted text -

gregor

unread,
Jul 15, 2008, 8:04:10 PM7/15/08
to Google Web Toolkit
Hi chemba,

I'm afraid I'm unclear as to what you are doing here:

What do you mean by:

"The servlet.class is part of my existing application. The client will
invoke the servlet classes using gwt rpc"

Are you saying that you have a GWT remote servlet as part of your GWT
app, and you want this to communicate with some other servlet that is
part of some other application, and you are trying to communicate with
it using the -noserver option in hosted mode?

regards
gregor

chemba

unread,
Jul 15, 2008, 8:43:39 PM7/15/08
to Google Web Toolkit

Hi gregor
Sorry for not being clear. I have just one servlet class. I have made
this class a part of my exisisting server application.

My question is
1. Should the lib directory contain my entire application
(appserver.jar) and all its dependencies?
2. I included the gwt-servlet.jar under the lib directory but the
class in the jboss error log refers to the RemoteService class which
is present in the gwt-user.jar. But if I include the same under lib, I
get the following message
----------------------------
org.apache.catalina.loader.WebappClassLoader validateJarFileINFO:
validateJarFile(<$webAppsFolder$>\WEB-INF\lib\gwt-user.jar) - jar not
loaded.See Servlet Spec 2.3, section 9.7.2. Offending class: javax/
servlet/Servlet.class
-------------------------------------

Not sure what should be under WEB-INF directory

thanks
Chemba
On Jul 15, 5:04 pm, gregor <greg.power...@googlemail.com> wrote:
> Hi chemba,
>
> I'm afraid I'm unclear as to what you are doing here:
>
> What do you mean by:
>
> "The servlet.class is part of my existing application. The client will
> invoke the servlet classes using gwt rpc"
>
> Are you saying that you have a GWT remote servlet as part of your GWT
> app, and you want this to communicate with some other servlet that is
> part of some other application, and you are trying to communicate with
> it using the -noserver option in hosted mode?
>
> regards
> gregor
>
> On Jul 16, 12:12 am, chemba <che...@gmail.com> wrote:
>
>
>
> > Hi gregor
> > No, I did not get my program working under hosted mode as well.
> > I tried using the -noserver option and specified the port as 8080.
> > Looks like i'm getting an exception for the rpc call.
> > I see the following in the jboss log
> > ----------------------------
> > java.lang.ClassNotFoundException: No ClassLoaders found for:
> > com.google.gwt.user.client.rpc.RemoteService
> >         at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoa­der.java:
> > 521)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.­java:
> > 415)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> >         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> >         at java.lang.ClassLoader.defineClass1(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> >         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
> > 124)
> >         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> >         at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClass­Loader.java:
> > 682)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.­java:
> > 662)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClass­Loader.java:
> > 200)
> >         at org.jboss.mx.loading.ClassLoadingTask
> > $ThreadTask.run(ClassLoadingTask.java:131)
> >         at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoa­der.java:
> > 527)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.­java:
> > 415)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> >         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> >         at java.lang.ClassLoader.defineClass1(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> >         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
> > 124)
> >         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> >         at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClass­Loader.java:
> > 682)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.­java:
> > 662)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClass­Loader.java:
> > 200)
> >         at org.jboss.mx.loading.ClassLoadingTask
> > $ThreadTask.run(ClassLoadingTask.java:131)
> >         at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoa­der.java:
> > 527)
> >         at
> > org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.­java:
> > 415)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> >         at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:592)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1345)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1204)
> >         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.j­ava:
> > 129)
> >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j­ava:
> > 175)
> >         at
> > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoc­iationValve.java:
> > 179)
> >         at
> > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java­:
> > 84)
> >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> > 127)
> >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> > 102)
> >         at
> > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnect­ionValve.java:
> > 157)
> >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav­a:

gregor

unread,
Jul 16, 2008, 5:34:57 AM7/16/08
to Google Web Toolkit
Right, I'm with you now:

No, you should not include gwt-user.jar in WEB-INF/lib, only gwt-
serlet.jar + any jars your remote servlets use.

It looks like the exception:

java.lang.ClassNotFoundException: No ClassLoaders found for:
com.google.gwt.user.client.rpc.RemoteService

is originating from:

org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1083)

So Tomcat is loading one of your RPC servlets (as per normal for GWT
app) and the JBoss classloader has found a reference to RemoteService
in it, which it can't find and shouln't be there anyway, so
"bang".....

So it looks like one of your servlets is either attempting to set up a
call to another GWT remote servlet using client-side code using one of
your RemoteService interfaces, or it references one of your classes
(that you might be passing over RPC as a parameter) that contains such
code.

At the moment I can't think of any other reason for this exception.
Your RPC servlets do not require any reference to RemoteService and
should not contain any direct or indirect reference to this interface.
But this exception suggests that one of yours does by my reading.
> ...
>
> read more »

Vando Pereira

unread,
Jul 16, 2008, 10:27:04 AM7/16/08
to Google Web Toolkit
Hi,

i'm having the smae problem but when jboss deploying my app.

My war structure is:

WAR
+META-INF
+WEB-INF
+Clasees (here i have all .class files client +
server)
+lib (gwt-servlet.jar)
-web.xml (besides the srvlet mapping, do i need any
other configuration?)
(.html's, jsp's etc)


Are you seeing some problem?

Regards
> ...
>
> read more »

chemba

unread,
Jul 16, 2008, 4:17:58 PM7/16/08
to Google Web Toolkit
Hi gregor
You are right... I included the interface file which derives from
RemoteService in my appserver.jar. If I do not include it JBoss
complains that it cannot find the interface.

Am not sure ...how to proceed

thanks
Chemba
> > > > > basically the same as deploying it to JBoss)?- Hide quoted text -
>
> - Show quoted text -...
>
> read more »

chemba

unread,
Jul 16, 2008, 4:26:04 PM7/16/08
to Google Web Toolkit
Hi
From what I understand your WEB-INF/classes dir should not include
client classes

Regards
Chemba
> > > > >         at- Hide quoted text -
>
> - Show quoted text -...
>
> read more »

chemba

unread,
Jul 16, 2008, 6:15:06 PM7/16/08
to Google Web Toolkit
Hi gregor
I tried deploying the dynatable sample in my jboss and seem to get the
same exception (I see this expection on the jboss console/log)
15:10:53,730 ERROR Allocate exception for servlet DynaTable
[[DynaTable]:http-10.0.4.115-8080-1/3628
/]
java.lang.ClassNotFoundException:
com.google.gwt.sample.dynatable.client.SchoolCalendarService
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1358)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
319)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
124)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:
181
4)
at
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:
872)
at
org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:
139)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1325)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1204)
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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.ja
va:179)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.ja
va:583)
at org.apache.tomcat.util.net.JIoEndpoint
$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)

The example is working file on hosted mode. Is there any configuration
that I should do?

thanks
Chemba
> > > > >         at java.lang.Thread.run(Thread.java:619)- Hide quoted text -

gregor

unread,
Jul 16, 2008, 6:17:27 PM7/16/08
to Google Web Toolkit
That looks like the problem. What is appserver.jar and why does it
have an interface in it that extends remoteService?
> ...
>
> read more »

chemba

unread,
Jul 16, 2008, 6:24:58 PM7/16/08
to Google Web Toolkit

appserver.jar contains the implementation file

I have the following
public interface NEInventory extends RemoteService
{
List<Map<String, Object>> getNEInventory();
}


public interface NEInventoryAsync
{
public void getNEInventory(AsyncCallback callback);
}

public class NEInventoryImpl implements NEInventory,
RemoteServiceServlet
{
public List<Map<String, Object>> getNEInventory()
{
return the value;
}

This NEInventoryImpl class is in the appserver.jar.

Regards
Chemba
> > > > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:- Hide quoted text -

gregor

unread,
Jul 16, 2008, 6:46:40 PM7/16/08
to Google Web Toolkit
That's wierd. What version of JBoss are you running?
> ...
>
> read more »

chemba

unread,
Jul 16, 2008, 7:02:29 PM7/16/08
to Google Web Toolkit
I'm running jboss-4.2.2.GA and GWT 1.5.


On Jul 16, 3:46 pm, gregor <greg.power...@googlemail.com> wrote:
> That's wierd. What version of JBoss are you running?
>
> On Jul 16, 11:15 pm, chemba <che...@gmail.com> wrote:
>
>
>
> > Hi gregor
> > I tried deploying the dynatable sample in my jboss and seem to get the
> > same exception (I see this expection on the jboss console/log)
> > 15:10:53,730 ERROR Allocate exception for servlet DynaTable
> > [[DynaTable]:http-10.0.4.115-8080-1/3628
> > /]
> > java.lang.ClassNotFoundException:
> > com.google.gwt.sample.dynatable.client.SchoolCalendarService
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1358)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1204)
> >         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
> > 319)
> >         at java.lang.ClassLoader.defineClass1(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> >         at
> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
> > 124)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassL­oader.java:
> > 181
> > 4)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.ja­va:
> > 872)
> >         at
> > org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.­java:
> > 139)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1325)
> >         at
> > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja­va:
> > 1204)
> >         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.j­ava:
> > 129)
> >         at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j­ava:
> > 175)
> >         at
> > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoc­iationValve.ja
> > va:179)
> >         at
> > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java­:
> > 84)
> >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> > 127)
> >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> > 102)
> >         at
> > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnect­ionValve.java:
> > 157)
> >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav­a:
> > > > > > >         at- Hide quoted text -

gregor

unread,
Jul 16, 2008, 7:09:44 PM7/16/08
to Google Web Toolkit
Sorry this is all wrong, Chemba.

RemoteService interface is of course in gwt-serlvet.jar as all RPC
servlets must implement an interface extended from it. These are
normally declared in the client section which is why you always put
all the application classes in the the WAR under WEB-INF/classes.

What's confusing me is is:

a) with your app JBoss complains RemoteService isn't in the classpath
b) with DynaTable it complains SchoolCalandarService isn't in the
classpath

So with your app gwt-servlet.jar is not in the classpath and with
DynaTable the application classes are not in the classpath? Maybe
there is something wrong with the structure of your WAR files. Why do
refer to appserver.jar and not appserver.war?

regards
grergor
> ...
>
> read more »

chemba

unread,
Jul 16, 2008, 7:25:50 PM7/16/08
to Google Web Toolkit
This is my WEB-INF
+ classes
NEInventoryImpl.class
(It does not contain the interface classes... should they be copied
here?)
+ lib
appserver.jar
gwt-servlet.jar

1. (appserver.jar also contains the NEInventoryImpl.class since it
invokes methods of other classes that exsist in the appserver). Not
sure whether it is ok to have it at 2 places

2. gwt-servlet.jar is present in the lib dir. Should there be some
special classpath setting for it?
3. appserver depends on some 3rd party jars. Should these be also
placed under lib directory


Regards
Chemba
> > > > > > > 129)- Hide quoted text -

meng

unread,
Jul 16, 2008, 10:39:33 PM7/16/08
to Google Web Toolkit
for testing purpose, just throw the gwt-servlet.jar into your server
lib path, i.e. jboss\server\default\lib and don't include it in WEB-INF
\lib, restart the server and test ......
> ...
>
> read more »

Vando Pereira

unread,
Jul 17, 2008, 5:15:50 AM7/17/08
to Google Web Toolkit
I'. already solved my problem, follow this steps:

http://www.charisacademy.com/GWT/CreateWar.htm

Thanks:)
> ...
>
> read more »

meng

unread,
Jul 17, 2008, 9:33:12 AM7/17/08
to Google Web Toolkit
good that the problem is solved. but i still you make yourself clear
on what is indeed necessary and how to package the war.

for the link, at least two of them are not fine with me
# Check Export generated class files and resources
--- client classes and resources should not have been included
# Check Export java source files and resources
--- java source is absolutely not necessary for deployment
> ...
>
> read more »

chemba

unread,
Jul 18, 2008, 1:33:07 PM7/18/08
to Google Web Toolkit
Hi Meng/Gregor
Thanks for the tip. It is now working fine. The only other thing that
I had to do was to copy the interface classes to the classes directory
under WEB-INF.

thanks a lot
chemba
> > > > > > > > >         at- Hide quoted text -
Reply all
Reply to author
Forward
0 new messages