thanks @colin @leon Aside from the licensing concerns, I’m mostly interested in the *technical and conceptual side* of things.
>From a conceptual standpoint — for those who have attempted similar upgrades — *Have you encountered the same main issues* I’ve listed below when trying to run GXT 2.3.1a with GWT 2.10? Main issues I’m seeing: - Component (GXT) is no longer compatible with Widget (GWT), breaking most UI layout logic - Many core GXT components like TextField, LabelField, FormPanel, etc. are no longer usable - GWT 2.10 + Java 11 enforces stricter type checks → tons of generic mismatches and interface conflicts - Several third-party dependencies are broken or require updates I’d love to know if others faced similar roadblocks or found any strategies to make GXT 2.x work (even partially) with GWT 2.10 — or if full migration to GWT-native components was the only way forward ;) Thanks again for any insight! wejden Le lun. 31 mars 2025 à 13:59, Colin Alworth <[email protected]> a écrit : > Their license is pretty clear on this matter: > > > We provide You with source code to the Sencha SDKs so that You can > create Modifications and Applications. While You retain all rights to any > original work authored by You as part of the Modifications, We continue to > own all copyright and other intellectual property rights in the Sencha SDKs. > > It does however go on to say that you cannot share the modified sdk though > (nor the patches themselves): > > > You may not redistribute the Sencha SDKs or Modifications other than by > including the Sencha SDKs or a portion thereof within Your Application. > > https://www.sencha.com/legal/sencha-software-license-agreement/ > > I am not a lawyer, I am not *your* lawyer, etc. > > > On Mon, Mar 31, 2025, at 6:43 AM, Leon wrote: > > Hi Wejden, I would still recommend to check on whether or not that > includes the right to modify and/or recompile the sources. > > On Mon, Mar 31, 2025 at 1:40 PM Wejden Mrabti <[email protected]> > wrote: > > @leon we already have commercial licence > > > *Best Regards,* > *Wejden MRABTI* > > Ingénieur étude et développement > > > Le lun. 31 mars 2025 à 12:46, Leon <[email protected]> a écrit : > > Hi Wejden, > > GXT does not have an open source licensing as far as I know. Not sure if > you're legally allowed to modify & recompile the sources. > That might be worth checking out before you put a lot of work into it. > > rg, > > Leon. > > > On Mon, Mar 31, 2025 at 12:20 PM Wejden Mrabti <[email protected]> > wrote: > > > many thanks @Colin and @Jens > > I'm currently testing a *partial migration* of my GWT application to *Java > 11 and GWT 2.10*. To get a better idea of the work involved, I tried > compiling just one module of the project. > > Here’s what I’ve done so far: > > - > > Patched and recompiled gxt-2.3.1a to make it compatible with GWT 2.10 > ( > > https://groups.google.com/g/google-web-toolkit/c/If897MPqvw0/m/bSWnmuz9BwAJ?pli=1 > = > - > > Installed the modified JAR locally in my Maven repository > - > > Tried compiling a single module — but run into several issues > > Main issues I’m facing: > > - > > *Component (GXT) is no longer compatible with Widget (GWT)* ===> > breaks all UI layouts > - > > Many GXT-based custom components like > com.extjs.gxt.ui.client.widget.form.TextField, LabelField, etc. are *not > compatible anymore* > - > > *Stricter typing in Java 11 + GWT 2.10* ===> leads to many > generic/interface mismatches > - > > Several dependencies also need to be replaced or upgraded > > My question: > > Given that the application is *heavily dependent on GXT 2.3.1a*, > especially for the client-side (grids, forms, fields, etc.), *Is it worth > trying to patch and adapt GXT further?* > Or should I progressively migrate everything to *native GWT widgets* > (like Composite, DataGrid, etc.)? > > Has anyone gone through a similar migration? *Are all these issues common* > when trying to use a patched GXT with GWT 2.10? > > Any advice or shared experience would be super appreciated! > > Thanks a lot > wejden > > Le dimanche 23 mars 2025 à 20:26:32 UTC+1, Colin Alworth a écrit : > > #1 I think Jens covers it well - something is almost certainly wrong with > your modified jar or how the classpath is built. > > For #2, the "-server" argument lets you specify a > com.google.gwt.core.ext.ServletContainerLauncher type, so > org.eclipse.jetty.server.Server will not suffice. If you do not specify > one, as of GWT 2.12 the old default of > com.google.gwt.dev.shell.jetty.JettyLauncher (using a wrapped Jetty 9) is > still used, which is what it sounds like you want anyway. This will change > in the future, see https://github.com/gwtproject/gwt/issues/10057 and > linked issues, If you're interested in something newer than the default > Jetty 9, also see > https://groups.google.com/g/google-web-toolkit/c/3dSoHpHD5jY/m/faAeQeJ-AwAJ > and > https://groups.google.com/g/google-web-toolkit-contributors/c/7jvGVaiSUdI. > > Note that Jetty 9 sometimes doesn't behave nicely when it tries to scan > your classpath - if it finds something that it can't understand while > looking for annotations, it will break. This will result in an error > something like > java.lang.IllegalArgumentException: Unsupported class file major version 64 > at org.objectweb.asm.ClassReader.<init>(ClassReader.java:199) > at org.objectweb.asm.ClassReader.<init>(ClassReader.java:180) > at org.objectweb.asm.ClassReader.<init>(ClassReader.java:166) > at org.objectweb.asm.ClassReader.<init>(ClassReader.java:287) > at > org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:932) > at > org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:734) > ... 6 more > > The workaround discussed at > https://github.com/gwtproject/gwt/issues/9433#issuecomment-250104877 may > help here. > > #3, nothing special should be required - besides the wrong instance passed > to -server, what errors are you seeing? > > Re your note: you should not need to deploy a complete war to tomcat for > local development - the best way to think about this is "If I wasn't using > GWT, how would I want to debug my server", then amend that slightly to > permit SDM to change files in the same sort of way that you would either > manually edit JS/HTML or you'd use a tool like npm/etc. > > On Sunday, March 23, 2025 at 3:23:07 AM UTC-5 [email protected] wrote: > > Hello! > > I am following your conversation because i am working on same issues : > > Migrating GWT/GXT project to GWT 2.10 + Java 11 + Jetty 9 > > *Initial Context on Legacy project using:* > > - > > GWT 2.8.2 > - > > GXT 2.3.1a-gwt22 > - > > Embedded Jetty > - > > Java 8 > > *Migration Goal* > > Update the project to use: > > - > > Java 11 > - > > GWT 2.10.1 > - > > Jetty 9 > - > > A custom-built GXT version compatible with GWT 2.10 > > *Steps Already Completed * > > 1. GXT Recompilation and Installation > > - > > Cloned the GXT 2.3.1a sources. > - > > Adapted the code to compile with GWT 2.10.1. > - > > Successfully built gxt-main-2.3.1a-gwt2.10.jar. > - > > Installed it locally using: > > > 2. Maven Configuration Updated > > - > > Switched to Java 11 using maven.compiler.source and target. > - > > GWT updated to version 2.10.1. > - > > Added the locally installed GXT dependency > > 3. GWT Module Inheritance Added > 4. GXT Verification > > - > > Confirmed GXT.gwt.xml is present inside the JAR (jar tf checked). > - > > JAR added to the Eclipse launch configuration (Run Configurations > > Classpath). > > Jetty Configuration Jetty 9 Already in Use > > - > > Version confirmed: 9.4.52.v20230823 (via mvn dependency:tree). > - > > Dependencies have <scope>compile</scope> (not provided). > - > > jetty-server-9.4.52.v20230823.jar appears in the Eclipse classpath. > > > *Current Blocking Issues* > > 1. GXT Not Found at Runtime > > When launching GWT DevMode: Unable to find > 'com/extjs/gxt/ui/GXT.gwt.xml' on your classpath > > Despite: > > - > > The file being present in the JAR. > - > > The JAR being listed in the Run Configurations > Classpath. > - > > Proper inheritance in the .gwt.xml file. > > 2. Jetty Server Class Not Found > > Tried using the argument: > > -server org.eclipse.jetty.server.Server > > *ClassNotFoundException: org.eclipse.jetty.server.*Server > > Even though the JAR is present in the classpath, and Jetty 9 is confirmed > to be in use. > > *So i need to understand* > > 1. > > Why is GWT DevMode (or CodeServer) unable to > find com.extjs.gxt.ui.GXT.gwt.xml, even though it is present and properly > declared? > 2. > > How can I resolve > the ClassNotFoundException for org.eclipse.jetty.server.Server, despite > Jetty 9 being correctly added? > 3. > > Are there any special configurations or recommendations for running > GWT 2.10 with Jetty 9 and Java 11 in Eclipse? > > *Important note:* I do *not* want to switch to a Tomcat 9 deployment (war > packaging) as a workaround. The current state of the project makes the > packaging and deployment process extremely slow — over *one hour* just to > build and deploy. Therefore, I need a solution that works using GWT Super > DevMode and embedded Jetty > > Thanks in advance for any help or suggestions. > > > __wejden > > > > Le mercredi 12 mars 2025 à 17:32:47 UTC+1, Jens a écrit : > > As Colin said you can use @WebServlet and enable configuration via > annotation scanning in your servlet container. However if your application > is large then scanning might slow your deployment down. If deployment time > is not a concern then it is the easiest solution. There are additional > annotations for other classes you normally add to your web.xml. > > If you don't like class scanning during deployment time you can write an > annotation processor that picks up all these @WebServlet annotated servlets > and generates a class that registers them using the ServletContext API. > Then you use that generated class in a custom ServletContextListener > implementation to register everything. That ServletContextListener would > then be the only entry in your web.xml. Alternatively, if you use Jetty as > servlet container you can use Jetty's quickstart module to let it generate > a web.xml by scanning your code once (as part of the build process). > > -- J. > > > > -- > > 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/E3P4xZ8SFCg/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit/db0a94c4-6dc7-45f3-b203-671e677b271en%40googlegroups.com > <https://groups.google.com/d/msgid/google-web-toolkit/db0a94c4-6dc7-45f3-b203-671e677b271en%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 visit > https://groups.google.com/d/msgid/google-web-toolkit/CABjQu7THuwTiY3ZHV-Em3atB4dZGNBO-APA9rxyxCP7hPkvm6A%40mail.gmail.com > <https://groups.google.com/d/msgid/google-web-toolkit/CABjQu7THuwTiY3ZHV-Em3atB4dZGNBO-APA9rxyxCP7hPkvm6A%40mail.gmail.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/E3P4xZ8SFCg/unsubscribe > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit/CADMk%2BV%2BtaGZozMApOF4zqZO7xTc_oGX3zQH3qw%3D-4y6s7H1WYg%40mail.gmail.com > <https://groups.google.com/d/msgid/google-web-toolkit/CADMk%2BV%2BtaGZozMApOF4zqZO7xTc_oGX3zQH3qw%3D-4y6s7H1WYg%40mail.gmail.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 visit > https://groups.google.com/d/msgid/google-web-toolkit/CABjQu7T-YJ-37XiHG-NGijrKZ9w6StuKw3nO2AQiqmHY%3D9N-nw%40mail.gmail.com > <https://groups.google.com/d/msgid/google-web-toolkit/CABjQu7T-YJ-37XiHG-NGijrKZ9w6StuKw3nO2AQiqmHY%3D9N-nw%40mail.gmail.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 visit > https://groups.google.com/d/msgid/google-web-toolkit/e29a5a9a-29b2-472a-a2f7-80a207d80a99%40app.fastmail.com > <https://groups.google.com/d/msgid/google-web-toolkit/e29a5a9a-29b2-472a-a2f7-80a207d80a99%40app.fastmail.com?utm_medium=email&utm_source=footer> > . > -- *Best Regards,* *Wejden MRABTI* Ingénieur étude et développement -- 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/CADMk%2BV%2BFNCwZyhrjZXmb_XGkdgNiqDePmDF_CZAdJvO1F0eZ6A%40mail.gmail.com.
