Thursday, March 13, 2025

Re: GWT, Java 17, jakarta.servlet, Eclipse, GWT plugin

Is what I need to do to launch the server the way it typically is (with Tomcat) and then invoke the com.google.gwt.dev.codeserver.CodeServer class via a Gradle task? Or com.google.gwt.dev.DevMode with superDev enabled and noServer? 

There is no real difference. DevMode was the main class used to start GWTs development mode which did start an embedded servlet container and a GWT development server. The classic GWT development server required a browser plugin but browsers changed their APIs and it does not work anymore (unless you use an ancient browser). Thus SuperDevMode was introduced and implemented in a dedicated main class called CodeServer.

Today the DevMode class basically allows you to choose one of four combinations:
- launch servlet container: yes or no (if yes, the default is Jetty 9.4.x or you can provide a custom launcher class to start any servlet container)
- launch classic GWT development server or launch GWT SuperDevMode

The DevMode class can be useful in IDEs to start both processes in one go but in general I would recommend using CodeServer directly and then figure out the best way to manage the server deployment of the project (IDE managed, build tool managed, manually managed local installation, docker container). Since you use Gradle a general recommendation is to have at least two gradle modules, one for GWT code and one for server code. The reason is that you then have two separated classpaths and GWT dependencies do not conflict with server dependencies.

-- J.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/5dc1e22d-524d-49f0-b341-b1f2e7646714n%40googlegroups.com.

No comments:

Post a Comment