Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    upgrading smartGWT with OpenJDK 11

    Hi All,

    Is there any way to upgrade the OPEN-JDK 11.0 over the smart-GWT ( Isomorphic SmartClient/SmartGWT Framework (v11.1p_2017-12-15/PowerEdition Deployment 2017-12-15) ) ?.

    your thoughts on this.


    #2
    Hello - it's not clear what you're asking here. Are you talking about using JDK 11 on the client side (GWT) or server?

    Are you having an actual problem using JDK 11? If so, what problem are you having?

    Note that your version is very old (6.5 years!) and you should be planning an upgrade as soon as possible.

    Also, just a note that your support has lapsed. If you're going to be needing help with an upgrade, you should get it renewed.

    Comment


      #3
      Hi,

      Thanks for the reply.

      Let me clarify your question.

      We plan to upgrade the existing code from Java 1.8 to OpenJDK 17 with GWT2.11.

      All those libraries are in place in our project. While compiling the code server mode faces errors as below.

      Would you please help us to get rid of the issue?
      Attached Files
      Last edited by antonychristopher; 12 Mar 2024, 18:02.

      Comment


        #4
        So, again, we're not going to be able to help very much here, both because your support lapsed, and also because the issues you're experiencing are not problems with SmartGWT.

        Specifically, it looks like you broke your project, not by changing the JDK as you said, but by making some other change. In particular, the SmartGWT jars are clearly not on your classpath when you compile (that's why you are getting hundreds of messages saying that the compiler doesn't know about various SmartGWT classes).

        Separately, as we noted previously, you are using a very old version of our software. This isn't the classpath problem (which is more basic), but it definitely is a problem: you should be upgrading so you don't end up deploying on end-of-lifed software.

        Note, if you don't want to correct your lapsed support, you could also just purchase a block of Consulting hours, then we can help you solve whatever is wrong, even if it doesn't have to do with our software.

        If you can't do any of that, we would highly recommend feeding your errors to ChatGPT, as it can help you solve them.

        Comment


          #5
          Thanks for the reply.
          Last edited by antonychristopher; 12 Mar 2024, 18:18.

          Comment


            #6
            Hey guys, as It happens I played around compiling our project with jdk11 instead of 8 tonight (We ran out of episodes of "Masters of the Air") and ran into a problem - so I thought I'd go into the forums and ask. Found this thread that seemed to match, so I hope it's ok that I hijack it.

            I'll ask in hope of it being super obvious that I'm an idiot. I'm building from maven which works in 8, I have literally only changed the path of the JDK. I get this error:

            reference to Record is ambiguous
            [ERROR] both class com.smartgwt.client.data.Record in com.smartgwt.client.data and class java.lang.Record in java.lang match
            Any idea what it is? If it is indeed obvious, I'll consider myself lucky and you can taunt me all you like.

            Comment


              #7
              Hi mathias,

              are you sure it’s jdk11?
              Java 16 introduced the new Record class.
              See here:
              https://forums.smartclient.com/forum...641#post270641

              https://openjdk.org/projects/jdk/16/

              Best regards
              Blama

              Comment


                #8
                As Blama pointed out, yes, this is actually a problem that only appears with JDK16+: the problem is that Java introduced java.lang.Record, which then makes imports of our Record class ambiguous if they do not specifically introduce the specific class (as opposed to importing an entire package).

                All supported versions of SmartGWT were updated to change the imports a long time ago, so basically this arises from trying an unpatched build of SmartGWT with JDK16+.

                Comment


                  #9
                  Again the forums to the rescue, thanks for pointing me in the right direction.

                  This was curious - the thing is that when I do java -version I get

                  openjdk version "11.0.18" 2023-01-17 LTS
                  OpenJDK Runtime Environment Zulu11.62+17-CA (build 11.0.18+10-LTS)
                  So I thought I was running 11. But after your feedback I did "mvn -version" and I got

                  Java version: 21.0.1, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk/21.0.1/libexec/openjdk.jdk/Contents/Home
                  Default locale: en_SE, platform encoding: UTF-8
                  So I have apparently got Maven to run on a different version of java then the one on the path. Thanks guys.


                  EDIT: Regarding the "Record" thing. In there, it says it's been patched - but I'm running 13.0-p20240228, so why do I get the error? Another misconfig or do I need to do something Besides running 13?
                  Last edited by mathias; 25 Mar 2024, 00:24.

                  Comment


                    #10
                    Hi mathias,

                    three things:
                    • I assume Isomorphic will not have seen the update by editing the thread
                    • Do you perhaps define a "Record" class of your own?
                    • Is the error message now still the one like in #6?
                    I have not tried it myself, but I don't think any more work is required on your part, unless you have a "Record" class of your own.

                    Best regards
                    Blama

                    Comment


                      #11
                      No I don't have a record class of my own. Strange. Well I'm back on 11 for now, so I guess I'll tackle this if/when I decide to go to 17. Thanks.

                      Comment


                        #12
                        The framework code has been adjusted so it doesn't have any ambiguous references to Record given the new java.lang.Record. You will have to adjust your imports in your app code.

                        Sorry, this is just one of many things Oracle has done that requires everyone to change their code at once. We have no way around it.

                        Also note: never use the forums "Edit" feature to introduce totally new data or questions. We do not get notifications of edits.

                        Comment


                          #13
                          Oh I know, I'm not blaming you guys! I was just a bit unsure what I had to do at my end. I'm dreading going to 17 since apparently I have to change every import in every java file...

                          Thanks, and thanks for the edit heads-up.

                          Comment


                            #14
                            Null
                            Last edited by akumar95; 3 Apr 2024, 01:56.

                            Comment

                            Working...
                            X