Managed to get server debugging working by adding:
<jvmArg>-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</
jvmArg>
to the gwt-maven-plugin.
And then creating a Remote JVM Debug launcher in IntelliJ (on port 5005),
that I run after running gwt:devmode.
I'm surprised IntelliJ can't just automatically attach to the running
server. Is this what everyone does that uses gwt:devmode?
On Saturday 23 December 2023 at 3:28:36 pm UTC+11 Craig Mitchell wrote:
> Thanks Tim! Looking at your POM files, I see I missed adding:
>
> <outputDirectory
> >${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/classes</
> outputDirectory>
>
> I also needed to:
>
> - Convert all my servlets to @WebServlet (as the GWT Jetty server
> didn't pick up my web.xml like the GAE server used to).
> - Give the GWT plugin the JVM arg
> "--add-opens java.base/java.lang=ALL-UNNAMED" for execeptions to be
> returned to the client.
>
> Strangely, Maven isn't copying my src/main/webapp files to the target
> folder, so I'm doing that manually with the maven-resources-plugin.
>
> So now GWT starts, dev compiles (including source maps), and runs
> beautifully, including RPC calls. Java17 runtime with a Java11 source
> level. Happy days! New POM attached.
>
> I've switched from using Eclipse to IntelliJ (because I no longer will be
> using any of the Eclipse plugins, and wanted a fresh start). However,
> debugging my server never hits the breakpoints.
>
> Do you use IntelliJ, do we need any special params to enable debug?
>
> [image: debug.png]
>
> I'm yet to get Google App Engine to work. When I try to access any of the
> GAE calls, I just get "No API environment is registered for this thread.".
> I think I need to setup the enviroment somehow now I no longer have a GAE
> server.
>
> Cheers!
>
> On Friday 22 December 2023 at 4:41:07 am UTC+11 [email protected]
> wrote:
>
>> These are my current poms, based on the tbroyer archetype.
>> Probably best to look at the latter first if youre not familiar with it.
>>
>> The launch is configured in the server pom:
>>
>> <profile>
>> <id>env-dev-gae1</id>
>> <activation>
>> <property>
>> <name>env</name>
>> <value>haslistener</value>
>> ...
>> <build>
>> <pluginManagement>
>> ...
>>
>> <groupId>com.google.cloud.tools</groupId>
>> <artifactId>appengine-maven-plugin</artifactId>
>>
>> A version of Jetty is attached by the appengine-maven-plugin config here
>> (afaik)
>> The eclipse launch goal is: appengine:run -Denv=haslistener
>>
>> Re GWT 2.10 : it can use JRE 17 but can only compile Java 11 source, iirc.
>>
>> Poms are a bit messy but should help if you want to take this approach
>>
>> On Thursday, December 21, 2023 at 11:36:51 AM UTC Craig Mitchell wrote:
>>
>>> Forgot to mention. My target is Java 17, but my source is Java 1.8.
>>>
>>> So:
>>> <properties>
>>> <maven.compiler.source>1.8</maven.compiler.source>
>>> <maven.compiler.target>17</maven.compiler.target>
>>> </properties>
>>>
>>> And:
>>> <pluginManagement>
>>> <plugins>
>>> <plugin>
>>> <groupId>org.apache.maven.plugins</groupId>
>>> <artifactId>maven-compiler-plugin</artifactId>
>>> <version>3.11.0</version>
>>> <configuration>
>>> <source>${maven.compiler.source}</source>
>>> <target>${maven.compiler.target}</target>
>>> </configuration>
>>> </plugin>
>>> <plugin>
>>> <groupId>org.apache.maven.plugins</groupId>
>>> <artifactId>maven-resources-plugin</artifactId>
>>> <version>3.3.1</version>
>>> </plugin>
>>> </plugins>
>>> </pluginManagement>
>>>
>>> I've attached my current POM (which isn't working, so don't copy it 🙂),
>>> but if you can see my mistake, please let me know.
>>>
>>> Thanks again!
>>> On Thursday 21 December 2023 at 10:27:01 pm UTC+11 Craig Mitchell wrote:
>>>
>>>> Hi Tim,
>>>>
>>>> I thought GWT 2.10.0 supported Java17. From the release notes:
>>>> https://www.gwtproject.org/release-notes.html#Release_Notes_2_10_0
>>>> *Tested support for running on Java 17, dropped remaining support for
>>>> running on Java 7.*
>>>>
>>>> I'm also using appengine-maven-plugin 2.5.0.
>>>> <plugin>
>>>> <groupId>com.google.cloud.tools</groupId>
>>>> <artifactId>appengine-maven-plugin</artifactId>
>>>> <version>2.5.0</version>
>>>> <configuration>
>>>> <projectId>headtoheaddrifting</projectId>
>>>> <version>GCLOUD_CONFIG</version>
>>>> </configuration>
>>>> </plugin>
>>>>
>>>> Along with GWT plugin:
>>>> <plugin>
>>>> <groupId>net.ltgt.gwt.maven</groupId>
>>>> <artifactId>gwt-maven-plugin</artifactId>
>>>> <version>1.1.0</version>
>>>> <extensions>true</extensions>
>>>> <configuration>
>>>> <moduleName>team.drift.DriftTeam</moduleName>
>>>> <moduleShortName>dt</moduleShortName>
>>>> <packaging>gwt-lib</packaging>
>>>> <launcherDir>${project.build.directory}/gwt/launcherDir</launcherDir>
>>>> <warDir>${project.build.directory}/drift-team-1.0-SNAPSHOT</warDir>
>>>> <startupUrls>
>>>> <startupUrl>index.html</startupUrl>
>>>> </startupUrls>
>>>> </configuration>
>>>> </plugin>
>>>>
>>>> Running: "mvn gwt:devmode" I can get it to start the Jetty server and
>>>> GWT code server. It finds my project, but currently, when opening the
>>>> browser it says:
>>>> HTTP ERROR 503 Service Unavailable
>>>> URI: /index.html
>>>> STATUS: 503
>>>> MESSAGE: Service Unavailable
>>>> SERVLET: -
>>>>
>>>> I put my web assets in src/main/webapp and I don't think it's seeing
>>>> them. Plus I don't think it's seeing my web.xml that's in
>>>> src/main/webapp/WEB-INF/web.xml
>>>>
>>>> Maybe they need to be copied to the target directory or somewhere, or
>>>> the GWT plugin pointed to where they are somehow. Not sure. Any help is
>>>> greatly appreaciated.
>>>>
>>>>
>>>> On Thursday 21 December 2023 at 4:06:46 am UTC+11
>>>> [email protected] wrote:
>>>>
>>>>> I havent tried raising the Java level yet, its still JavaSE-1.8.
>>>>> Got as far as using latest versions:
>>>>> JDK 21
>>>>> gcloud CLI app & cloudSdkVersion 457.0.0
>>>>> appengine-maven-plugin 2.5.0
>>>>>
>>>>> To get it to run, so far:
>>>>> 1 I had to remove all DOCTYPE declarations in xml files in the server
>>>>> project (new restrictions on DTD)
>>>>> 2 appengine-maven-plugin 2.5.0 requires:
>>>>> <configuration>
>>>>> <jvmFlags>
>>>>> <item>--add-opens</item>
>>>>> <item>java.base/java.util=ALL-UNNAMED</item>
>>>>> This stops 500 Server Error which I've not seen before:
>>>>> GCLOUD: java.lang.reflect.InaccessibleObjectException:
>>>>> Unable to make field accessible: module java.base does not "opens
>>>>> java.util" to unnamed module @2c95ac9e
>>>>>
>>>>> So Craig, you say with Java17 on GAE, there isn't a web server
>>>>> included anymore.
>>>>> So this has to be defined somewhere in appengine-maven-plugin ?
>>>>> The minimum level to avoid being shut down on GAE standard is >8
>>>>> & 11 is the max for GWT, so that would seem do for now, why Java 17 ?
>>>>>
>>>>> On Wednesday, December 20, 2023 at 4:46:03 AM UTC Craig Mitchell wrote:
>>>>>
>>>>>> No worries not posting the POMs Tim.
>>>>>>
>>>>>> The bit I'm struggling with, the old Java 8 version had its own GAE
>>>>>> server. So I would run that, and a GWT Code Server. Easy!
>>>>>>
>>>>>> *btw:* I'm talking about GAE Standard. GAE Flexible you can do
>>>>>> whatever you want, but that's more work and more expensive.
>>>>>>
>>>>>> Now with the upgrade to Java17 on GAE, there isn't a web server
>>>>>> included anymore. It's up to you to supply one. I would assume when
>>>>>> you
>>>>>> deploy it, it doesn't actually use your server, but what setup is GAE
>>>>>> expecting for the deploy?
>>>>>>
>>>>>> I see there is a SpringBoot GAE example, so it might be easier to use
>>>>>> that, and get GWT to work with SpringBoot. Not sure. Very interested
>>>>>> to
>>>>>> hear what you're doing.
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> On Wednesday 20 December 2023 at 1:51:55 pm UTC+11
>>>>>> [email protected] wrote:
>>>>>>
>>>>>>> For some years I've been deploying GWT 2.8.2 to GAE with Maven &
>>>>>>> Google Cloud Tools.
>>>>>>> I now find GAE is not supporting Java 8 after January, so currently
>>>>>>> upgrading (rather slowly).
>>>>>>> There are 4 long POM files, probably better to mail them then post
>>>>>>> a distilled version here ?
>>>>>>>
>>>>>>> On Sunday, December 17, 2023 at 5:20:56 AM UTC Craig Mitchell wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> The instructions here
>>>>>>>> https://www.gwtproject.org/doc/latest/tutorial/appengine.html are
>>>>>>>> no longer valid, as the Google Plugin for Eclipse is now dead (Google
>>>>>>>> no
>>>>>>>> longer supports Java 1.8, and the Google Plugin for Eclipse doesn't
>>>>>>>> support
>>>>>>>> any Eclipse versions that support anything after Java 1.8). Ref:
>>>>>>>> https://github.com/GoogleCloudPlatform/google-cloud-eclipse/issues/3710
>>>>>>>>
>>>>>>>> The new approach with GAE is to use Maven or Gradle with Google
>>>>>>>> Cloud Tools.
>>>>>>>>
>>>>>>>> I've been struggling to work out how this is supposed to happen.
>>>>>>>> It looks like we now have to provide our own Web Server for GAE, but
>>>>>>>> can we
>>>>>>>> use the Jetty server that GWT uses for development? I assume the
>>>>>>>> deploy
>>>>>>>> build would not include the Jetty web server?
>>>>>>>>
>>>>>>>> If anyone has deployed a GWT app to GAE with Maven and the new
>>>>>>>> Google Cloud Tools, it would be great if you could give high level
>>>>>>>> instructions on how it's all supposed to fit together.
>>>>>>>>
>>>>>>>> An example Maven POM file with both the Google Cloud Tools, and GWT
>>>>>>>> would be even 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 on the web visit
https://groups.google.com/d/msgid/google-web-toolkit/68961a1b-ed04-4e38-b0eb-0ee1f9812881n%40googlegroups.com.