For whatever it might be worth...

I just went through a possibly similar exercise, getting my 2.11 
GWT-RPC-based app to run with Tomcat 10. I had to run around my codebase 
and replace 'javax' with 'jakarta', but the last key step was ensuring that 
my GWTRPC services inherited from this class:  
com.google.gwt.user.server.rpc.*jakarta*.RemoteServiceServlet

Note the .jakarta. in there, which otherwise is not present (in javax form) 
in the older/other class hierarchy -- a different package entirely.

Also note, my project is not using 'validation-api.jar' directly (not sure 
about indirectly), so I can't promise the above will help -- sorry.


On Wednesday, March 20, 2024 at 5:45:24 AM UTC-4 Priya wrote:

> Hi Team,
>
> We are working on development environment with Tomcat 10 where third party 
> jar  *jakarta.validation-api.jar *has been updated to tomcat specific 
> version where package structure is changed from javax.validation to 
> jakarta.validation.
>
> When GWT 2.11 with tomcat specific jars(Gwt-servlet and 
> requestfactory-server.jar) are deployed, it is trying to find 
> javax.validation.Path with below stack trace-
>
> Exception while dispatching incoming RPC call 
> java.lang.NoClassDefFoundError: javax/validation/Path
>          java.base/java.lang.Class.forName(Class.java:467)
>   at 
> com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java:217)
>   at 
> com.google.gwt.user.server.rpc.jakarta.RemoteServiceServlet.loadSerializationPolicy(RemoteServiceServlet.java:98)
>   at 
> com.google.gwt.user.server.rpc.jakarta.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java:437)
>   at 
> com.google.gwt.user.server.rpc.jakarta.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java:251)
>   at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:505)
>   at com.google.gwt.user.server.rpc.jakarta.RPC.decodeRequest(RPC.java:241)
>
> As this package has been changed in our environment to 
> jakarta.validation.path, GWT source code is unable to find this class, 
> giving NoClassDefFoundError. 
>
> Also we can find several references of javax.validation.Path in gwt-user 
> and other jars under GWT 2.11 jars.
>
> My queries are  -
> 1. Has anyone come across such error, if yes, what is workaround. 
> 2. as javax packages are outdated and replaced by jakarta, is there a plan 
> to update them and what is significance of those classes .Also, how this 
> failure can be addressed. 
> 3. One solution I could see for older releases, is to add dependency for 
> gwt-servlet-deps.jar, but that is not viable solution to us,as we are 
> moving away from javax packages due to tomcat upgrade.
>
> Any immediate help will be appreciated. 
> 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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/f9db97be-397f-4bfe-a13a-de001fdcd311n%40googlegroups.com.

Reply via email to