That did the trick. In my pom.xml I had my `deploy` location as
`<deploy>${project.build.directory}/gwt-deploy</deploy>` but I guess that
isn't on the classpath so moving it to
${project.build.directory}/public/gwt-deploy (which I believe is
automatically on Spring's classpath) worked. Was able to get rid of the
classpath: prefix as well.
Ty for the help Leon!
On Tuesday, 17 October 2023 at 00:49:13 UTC-4 Leon wrote:
> Hey Eric,
>
> I did this and it worked out of the box;
> @Override
> protected SerializationPolicy
> doGetSerializationPolicy(HttpServletRequest request, String moduleBaseURL,
> String strongName) {
> try {
> return SerializationPolicyLoader.loadFromStream(new
> ClassPathResource("classpath:public/my_compile_folder_name/" +
> strongName+".gwt.rpc").getInputStream(), null);
> } catch (Exception e) {
> LOGGER.error("Error loading Serialization policy - peeps with
> outdated application version");
> return null;
> }
> }
>
> On Tue, Oct 17, 2023 at 12:20 AM 'Eric Dufresne' via GWT Users <
> [email protected]> wrote:
>
>> Hi!
>>
>> Were you successful in building out a JAR using spring boot while still
>> using GWT RPC? I am on the last step of getting the `.gwt.rpc` files in the
>> right place but I still get serialization errors saying the serialization
>> policy files are missing.
>>
>> For the override you did:
>> @Override
>> protected SerializationPolicy doGetSerializationPolicy(HttpServletRequest
>> request, String moduleBaseURL, String strongName) {
>> return SerializationPolicyLoader.loadFromStream(new
>> ClassPathResource("classpath:yourLocation/" +
>> strongName+".gwt.rpc").getInputStream(), null);
>> }
>>
>> where in the JAR did you add the gwt.rpc files and how did you access
>> them from here?
>>
>> Any help would be greatly appreciated.
>>
>> Thanks!
>>
>> On Tuesday, 6 December 2022 at 18:57:27 UTC-5 Dr. Lofi Dewanto wrote:
>>
>>> Thanks a lot for the tips on Spring Boot packaging in JAR.
>>>
>>> Yes, the first example I showed was with packaging WAR. That works fine.
>>>
>>> I would try your tips to be able to run on the JAR packaging (second
>>> example).
>>>
>>> I'll tell you, whether I'm successful or not.
>>>
>>> It is weird, that I could run the RemoteLoggingServiceImpl.java for GWT
>>> logger on the JAR packaging but not the RemoteServlet.
>>>
>>> Thanks,
>>> Lofi
>>>
>>> Leon Pennings <[email protected]> schrieb am Di., 6. Dez. 2022, 14:28:
>>>
>>>> In addition to previous poster -> yes you can keep on using the GWT
>>>> RPC.
>>>>
>>>> The things I had to change in order to keep it working when packaging
>>>> the spring boot jar, was;
>>>> 1 - to make sure Spring Boot runs the servlets (enough on the web for
>>>> that)
>>>> 2 - to make sure the gwt compile ends up in de classes folder before
>>>> the .jar is created
>>>> 3 - to make sure the servlet can access the .gwt.rpc file to validate
>>>> the servlet calls.
>>>> Normally that is available to the servlet from the war package, but
>>>> since it's a jar with Spring boot you need to make some changes;
>>>> For that I had to override the RemoteServiceServlet method;
>>>>
>>>> @Override
>>>> protected SerializationPolicy
>>>> doGetSerializationPolicy(HttpServletRequest request, String moduleBaseURL,
>>>> String strongName) {
>>>> return SerializationPolicyLoader.loadFromStream(new
>>>> ClassPathResource("classpath:yourLocation/" +
>>>> strongName+".gwt.rpc").getInputStream(), null);
>>>> }
>>>>
>>>> So the changes are quite limited and not as much Spring boot specific,
>>>> but more the oddities of changing the package format from a .war to a .jar
>>>> That was all -> runs like a charm
>>>> Op maandag 5 december 2022 om 23:00:26 UTC+1 schreef [email protected]
>>>> :
>>>>
>>>>> Hi All,
>>>>>
>>>>> you don't have to move GWT RPC to REST and JSON when you want to move
>>>>> the backend to Spring Boot. GWT RPC is just a servlet which you can
>>>>> register in Spring Boot.
>>>>>
>>>>> Here are some examples of the standard GWT Demo StockWatcher but
>>>>> implemented using Spring Boot with GWT RPC and REST JSON:
>>>>>
>>>>> https://github.com/lofidewanto/stockwatcher
>>>>>
>>>>> (1) This example shows how to integrate the GWT RPC servlet to Spring
>>>>> Boot using @WebServlet:
>>>>> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot-webapp/stockwatcher-springboot-webapp-server/src/main/java/stockwatcher/GreetingServiceImpl.java
>>>>>
>>>>> (2) This example shows to integrate the GWT RPC servlet to Spring
>>>>> Boot, but I think doesn't work so far. I could take a look if you want to.
>>>>>
>>>>>
>>>>> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot/stockwatcher-springboot-server/src/main/java/stockwatcher/WebConfig.java
>>>>>
>>>>> Cheers,
>>>>> Lofi
>>>>>
>>>>> Michael Joyner schrieb am Montag, 21. November 2022 um 16:50:29 UTC+1:
>>>>>
>>>>>> *Are you using gwt-RPC ?*
>>>>>> Yes! we are using GWT-RPC & currently having a single WAR of near
>>>>>> about 500mb, having CLIENT-SHARED-SERVER in a same project.
>>>>>>
>>>>>> You can still have everything in a master parent project that builds
>>>>>> the final WAR with all the client JS and SERVER classes in the same war.
>>>>>>
>>>>>>
>>>>>> *You'll need to switch to JSON for data transport.*
>>>>>> Is there any drawback of switching to JSON in GWT, such as impact on
>>>>>> performance etc.
>>>>>>
>>>>>> You lose easy polymorphism for models, they will require an extra set
>>>>>> of annotations at the very least if you have polymorphism as part of
>>>>>> your
>>>>>> DTO setup.
>>>>>>
>>>>>>
>>>>>> *You'll need to use something like DominoKit REST.*
>>>>>> We found one RestyGWT <https://resty-gwt.github.io/>, but not sure
>>>>>> about its final impact as we haven't applied it yet. any suggestions...
>>>>>>
>>>>>> RestyGWT is effectively defunct. Stick with a modern GWT3 compatible
>>>>>> approach such as DominoKit.
>>>>>>
>>>>>>
>>>>>>
>>>>>> *It would be also be best to split the project into three projects.
>>>>>> An API project, a shared code project, and a UI project.*
>>>>>> We cannot get why keeping *SHARED CODE *as a separate project is
>>>>>> best. We are not having any library of GWT on server side. So except
>>>>>> MODELS, what are the other stuffs we can have in SHARED CODE PROJECT.
>>>>>>
>>>>>>
>>>>>> In this case SHARED CODE is really just the MODELS and INTERFACES and
>>>>>> possible the REST Interface.
>>>>>>
>>>>>>
>>>>>> *If you are using gwt-RPC then IMHO there will need to be a big
>>>>>> refactoring change at the very least*
>>>>>> This is where we are stuck & looking for the solution with a minimum
>>>>>> change and should be stable but unable to figure out yet.
>>>>>>
>>>>>> I don't think you can accomplish this with a large project with
>>>>>> minimum of change unless the client API calls are fully abstracted away
>>>>>> (or
>>>>>> can be) so that code could be replaced with a different class.
>>>>>>
>>>>>>
>>>>>> On Monday, November 21, 2022 at 7:37:33 PM UTC+5:30 Michael Joyner
>>>>>> wrote:
>>>>>>
>>>>>>> There are a lot of factors to consider.
>>>>>>>
>>>>>>> Are you using gwt-RPC ? You'll need to switch to JSON for data
>>>>>>> transport.
>>>>>>>
>>>>>>> You'll need to use something like DominoKit REST (
>>>>>>> https://github.com/DominoKit/domino-rest) for the data transport
>>>>>>> layer.
>>>>>>>
>>>>>>> It would be also be best to split the project into three projects.
>>>>>>> An API project, a shared code project, and a UI project.
>>>>>>>
>>>>>>> If you are using gwt-RPC then IMHO there will need to be a big
>>>>>>> refactoring change at the very least.
>>>>>>>
>>>>>>>
>>>>>>> On 11/21/22 08:19, [email protected] wrote:
>>>>>>>
>>>>>>>
>>>>>>> We are having a huge project already running successfully on GWT.
>>>>>>>
>>>>>>> But for some reasons we are planning to move our backend to
>>>>>>> SPRING-BOOT keeping front end in GWT.
>>>>>>>
>>>>>>> Is there any way we can do it easily without a big change in our
>>>>>>> existing application.
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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 on the web visit
>>>>>>> https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com
>>>>>>>
>>>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>> --
>>>>>> 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 on the web visit
>>>>>> https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com
>>>>>>
>>>>>> <https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>>
>>>>>> --
>>>>
>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "GWT Users" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/google-web-toolkit/13cHZX5KoQA/unsubscribe
>>>> .
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/google-web-toolkit/5535048c-bbc2-4f58-8cf4-11025a166464n%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/google-web-toolkit/5535048c-bbc2-4f58-8cf4-11025a166464n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "GWT Users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/google-web-toolkit/13cHZX5KoQA/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit/4e6ddddf-68b8-49a7-875b-e645fed2828cn%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/google-web-toolkit/4e6ddddf-68b8-49a7-875b-e645fed2828cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
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 on the web visit
https://groups.google.com/d/msgid/google-web-toolkit/fbf7b862-14ff-460c-b784-86588722873an%40googlegroups.com.