Wednesday, January 8, 2025

Re: GWT Dev Conflict with Spring Boot 3.4 and Google GSON

Awesome!  Thanks Colin and Ahmad!

> 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.

Apologies, it isn't.  I was incorrect when I sait it could be removed.  I removed it, started the code server, and everything looked good.  It wasn't until after I posted my message, I realised the code server couldn't compile the JS without it.

> 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.

Excellent.  Thanks again.  :)

On Thursday, 9 January 2025 at 1:36:33 pm UTC+11 Colin Alworth wrote:
Update the GSON version as you're doing - Ahmad is in the process of making this change in GWT itself:

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 ma...@craig-mitchell.com 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 google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/e6ae0710-925a-456b-9d75-9c6ea6507734n%40googlegroups.com.

No comments:

Post a Comment