fyi:  Springboot 3.4.2 fixed the Gson conflict 
issue.  https://github.com/spring-projects/spring-boot/issues/43442

On Saturday, 11 January 2025 at 3:36:00 am UTC+11 Khun Yee Fung wrote:

> 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/782c0865-b6d9-40dd-8671-efd9fdfa7828n%40googlegroups.com.

Reply via email to