On 5/4/07, Kostis Anagnostopoulos <[EMAIL PROTECTED]> wrote:
Hi Kristian,On 5/4/07, kristian <[EMAIL PROTECTED]> wrote: > Hi Kostis, > > well I think this has to do with the fact that GWTShell gets executed > by Runtime.getRuntime().exec(...). > > I tried two times to run the GWTShell directly within maven, but ran > into classloader issues. so currently the RunHandler.java is used in > GWTRunMojo, which starts a new java VM. the RunHandlerImpl.java was > the attempt to run the GWTShell directly and would be the prefered way > to execute the GWTShell. > > so if you want to play around, the RunHandler.java and > RunHandlerImpl.java have the same method signatures and you find > commented code in the GWTRunMojo. of course any hints are welcome and > I also have a look at it the next days. I also attempted to play around with classloading. I Renamed the two handler classes into: RunHandler --> RunHandlerFork RunHandlerImpl --> RunHandlerEmbbeded and made them both inherit from RunHandler, which captures the common functionality (it may be optinal to merge that last class, RunHandler, with its parent AbstractHandler) The RunHandlerEmbbeded class uses the new MojoClassLoaderClass in a desperate attempt to solve tomcat's classloading issues replacing threadcontext's classloader. BUT... i failed, since according to com.google.gwt.dev.GWTShell:704 tomcat starts in a new thread! if (runTomcat) { // Start the HTTP server. // Use a new thread so that logging that occurs during startup is // displayed immediately. // I attached these classes for they might be useful to your efforts as well. I will keep an eye for this problem,
I found this relevant submitted patch while searching into the gwt-contrib mailing list: http://groups.google.com/group/Google-Web-Toolkit-Contributors/browse_frm/thread/d73cc9aaa4005cbf/8832904f1a976f46?lnk=gst&q=classloader&rnum=1#8832904f1a976f46 Regards, Kostis --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
