Oh that is perfect. Thanks Colin. I never had gwt-user.jar on my server side classpath. But to get my GWT 2.12.1 app working with jetty 12 inside IntelliJ, I thought I had to do that because it has com.google.gwt.user.server.rpc.RPC and gwt-servlet-jakarta.jar does not have that class. It is still in gwt-user.jar though. Your message got me looking for RPC in other places. Sure enough, it is now com.google.gwt.user.server.rpc.jakarta.RPC in gwt-servlet-jakarta.jar. (From here you can tell I still have server, client, and share code mixed up. That is a 15-plus year legacy.)
That is the last remaining piece for me to get the program running inside IntelliJ with Jetty 12 properly without gwt-user.jar on the server side. It has been a multi-month long struggle, but I think I can safely deploy all my GWT programs with jetty 12 in production soon. Thanks again. On Thursday, January 9, 2025 at 8:14:09 PM UTC-5 Colin Alworth wrote: > Can you confirm that? XsrfTokenServiceServlet and Md5Utils are definitely > in gwt-servlet.jar: > > $ unzip -l > ~/.m2/repository/org/gwtproject/gwt-servlet/2.12.1/gwt-servlet-2.12.1.jar| > grep XsrfTokenServiceServlet > 2692 2024-11-11 08:46 > com/google/gwt/user/server/rpc/XsrfTokenServiceServlet.class > > $ unzip -l > ~/.m2/repository/org/gwtproject/gwt-servlet/2.12.1/gwt-servlet-2.12.1.jar| > grep Md5Utils > 1108 2024-11-11 08:45 > com/google/gwt/util/tools/shared/Md5Utils$1.class > 1115 2024-11-11 08:45 > com/google/gwt/util/tools/shared/Md5Utils.class > > Neither gwt-user nor gwt-dev should be on your server classpath. If you're > using GWT-RPC, only gwt-servlet (or gwt-servlet-jakarta) should be > necessary. > > Using @UnsafeNativeLong in shared code doesn't make sense to me, perhaps > you can share what you're trying to do (though you said it was factored > out, so maybe it doesn't actually apply here). My general expectation would > be to see this only in client-only code. > On Thursday, January 9, 2025 at 7:04:46 PM UTC-6 [email protected] > wrote: > >> Hi Colin, >> >> > That said... you should not have gwt-dev on the same classpath as your >> server. >> >> Unfortunately in my case I could not avoid it. >> I use com.google.gwt.user.server.rpc.XsrfTokenServiceServlet (from >> gwt-user) and it refers com.google.gwt.util.tools.shared.Md5Utils from >> gwt-dev (GWT 2.12.1) >> So I have to keep gwt-dev in classpath >> There's another class I need, com.google.gwt.core.client.UnsafeNativeLong >> also >> in gwt-dev, but it can be factored out so it's not that critical. It's just >> useless to do that while XsrfTokenServiceServlet still needs gwt-dev >> >> On Thursday, January 9, 2025 at 3:36:33 AM UTC+1 Colin Alworth wrote: >> >>> Update the GSON version as you're doing - Ahmad is in the process of >>> making this change in GWT itself: >>> https://github.com/gwtproject/gwt/pull/10079 >>> https://github.com/gwtproject/tools/pull/34 >>> >>> In the next GWT release, we'll default to using 2.11.0. >>> >>> That said... you should not have gwt-dev on the same classpath as your >>> server, and you should not remove gson from gwt-dev, or you may have >>> compilation issues with sourcemaps. >>> >>> The tweak you're making is totally acceptable to make to gwt-servlet (or >>> gwt-servlet-jakarta) though - either exclude if you don't use the stack >>> trace deobfuscator with sourcemaps, or just update to 2.11.0. >>> >>> On Wednesday, January 8, 2025 at 8:28:39 PM UTC-6 >>> [email protected] wrote: >>> >>>> When upgrading from Spring Boot 3.3 to 3.4, my app still compiles, but >>>> when I run it, crashes with: >>>> >>>> Error starting ApplicationContext. To display the condition evaluation >>>> report re-run your application with 'debug' enabled. >>>> [2025-01-09 12:36:47.028] - 13568 SEVERE [restartedMain] --- >>>> org.springframework.boot.SpringApplication: Application run failed >>>> java.lang.NoClassDefFoundError: com/google/gson/Strictness >>>> >>>> Others have reported the same issue, but with different causes: >>>> https://github.com/spring-projects/spring-boot/issues/43442 >>>> >>>> When I look at who is using GSON, it's gwt-dev.jar: >>>> >>>> [INFO] teamdrift:drift-team-client:gwt-app:1.0-SNAPSHOT >>>> [INFO] +- org.gwtproject:gwt-dev:jar:2.12.1:compile >>>> [INFO] | +- com.google.code.gson:gson:jar:2.6.2:compile >>>> >>>> I can fix it by adding the newer version to my server: >>>> <dependency> >>>> <groupId>com.google.code.gson</groupId> >>>> <artifactId>gson</artifactId> >>>> <version>2.11.0</version> >>>> </dependency> >>>> >>>> And optionally, to clean up so the old version, remove it from my >>>> client gwt-dev: >>>> <dependency> >>>> <groupId>org.gwtproject</groupId> >>>> <artifactId>gwt-dev</artifactId> >>>> <exclusions> >>>> <exclusion> >>>> <groupId>com.google.code.gson</groupId> >>>> <artifactId>gson</artifactId> >>>> </exclusion> >>>> </exclusions> >>>> </dependency> >>>> >>>> Is this the best fix? Or is there something better? >>>> >>>> Thanks. >>>> >>> -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/b332cfe6-2a05-41b5-a3c9-ea22b1bf3b05n%40googlegroups.com.
