Hello Colin I have realized that the DevMode servers solution cannot work without https://github.com/gwt-plugins/gwt-eclipse-plugin/issues/515 after all.
I am afraid this is a blocker and I am now at a dead end. It would be very much appreciated if you could get someone to have a look at this. Thanks On Wed, 16 Jul 2025 at 00:45, [email protected] <[email protected]> wrote: > I am afraid there are still classpath issues and I am afraid these are > possibly related to > https://github.com/gwt-plugins/gwt-eclipse-plugin/issues/515 > > On Tuesday, 8 July 2025 at 12:46:29 UTC+1 [email protected] wrote: > > Version 0.0.24 has been published to Maven Central. > > It contains support for Tomcat embedded launcher in modules > GWT-DevMode-server.impl.Cargo.embedded.Tomcat9.javax , > GWT-DevMode-server.impl.Cargo.embedded.Tomcat10.jakarta , and > GWT-DevMode-server.impl.Cargo.embedded.Tomcat11.jakarta > > see https://bitbucket.org/upperlimit-public/gwt-devmode-server/src/main/ > > see > https://central.sonatype.com/search?namespace=io.bitbucket.upperlimit-public > > On Friday, 13 June 2025 at 18:21:26 UTC+1 [email protected] wrote: > > Returning to this effort and given the challenges I have so far faced with > running an embedded variant of Jetty I have decided to experiment with > embedding of other servlet containers, in hope of dealing with the > classpath issues I encountered. > > Tomcat was my first thought. > > > On Monday, 21 April 2025 at 07:32:09 UTC+1 ILIAS BALASIS wrote: > > That’s exactly what the modules classified as “installed” do, downloading > and unpacking the servlet container release archive locally. > > The download URL is configurable using JVM properties. > I intend to add this to the launchers project page. > > This seems to be working at least for trivial projects so far but it is > disconnected from standard development operations flow. > > Running in the same JVM unfortunately presents other challenges, classpath > conflicts mostly, which I have been unable to resolve so far for > non-trivial projects. > > ------ Original Message ------ > From "Jens" <[email protected]> > To "GWT Contributors" <[email protected]> > Date 20/04/2025 23:04:57 > Subject Re: [gwt-contrib] Re: Official external DevMode server > implementations > > Would it be too bad to not use embedded container but instead installed > container > <https://codehaus-cargo.github.io/cargo/Installed+Container.html> with > Cargo? They also provide a simple Java API to download and unpack a servlet > container release archive locally. So DevMode could download and install a > servlet container in a GWT specific location and then use that. The > download URL could also be made configurable using a gwt-devmode.properties > file in the project similar to how the gradlew script installs gradle > locally if needed. > > Cargo documentation explicitly says that embedded containers can quickly > end up in classloader / JAR hell and have other downsides: > https://codehaus-cargo.github.io/cargo/Embedded+Container.html > > -- J. > > [email protected] schrieb am Freitag, 4. April 2025 um 19:20:25 UTC+2: > > I understand. > > I am actually loading all Jetty classes using a custom child-first > classloader and let everything else be loaded by the parent classloaders > chain. > > That was expected to be sufficient but apparently it is not, a lot of > trickery is still required. > > On Friday, 4 April 2025 at 18:12:19 UTC+1 Thomas Broyer wrote: > > On Fri, Apr 4, 2025 at 6:48 PM [email protected] <[email protected]> > wrote: > > Relatively solved indeed, that's what I expected, which worked for my PoC > modules. > > The first problem I encountered was loading some application classes > through the DevMode launcher's classloader and some others from the > application classloader. > for example: SpringFramework interfaces loaded from the isolated DevMode > classloader but concrete implementation classes loaded from the application > classloader, which produced class loading errors. > > I had to start excluding dependencies from the Jetty container's > WEB-INF/lib folder using a specific technique so that the classes would be > all loaded from the classloader of DevMode instead, but even that wasn't > enough. > > The problem got worse when I tried to make use of even more dynamic > frameworks like SpringSecurity, being unable to prepare the underlying > component chains, which is where I stopped. > > Overall, it seems that even though the DevMode classloader is isolated, a > lot of trickery may still be required. > > > I haven't looked at the code, but in case you were on that path: please do > not try to mimic the current behavior where server-side classes can be > loaded from the classpath. Having a breaking change like this is a great > opportunity to ditch that and just require that server-side classes are > within WEB-INF/classes and WEB-INF/lib. That way, you use the server's > already implemented and battle-tested classloaders respecting the Jakarta > Servlet specs for precedence and isolation. > That custom classloader was the main reason Jetty wasn't updated more > often (in addition to changing its API in minor or even patch releases). > > -- > You received this message because you are subscribed to the Google Groups > "GWT Contributors" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit-contributors/1228184a-52d6-409a-8f35-fc2894cb4413n%40googlegroups.com > <https://groups.google.com/d/msgid/google-web-toolkit-contributors/1228184a-52d6-409a-8f35-fc2894cb4413n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "GWT Contributors" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit-contributors/3b28ef98-98d1-4d84-94d8-176effbb1482n%40googlegroups.com > <https://groups.google.com/d/msgid/google-web-toolkit-contributors/3b28ef98-98d1-4d84-94d8-176effbb1482n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAMBVaRLHd1%2Bmt-yOYnmMTvchHqv0PH%2Br8W10mKzP2Mjk7VoRTQ%40mail.gmail.com.
