Afaik gwt:devmode is launching  a GWT Jetty, rather than the GAE Jetty.
The latter requires appengine:run 
with a launch profile env property & name
appengine:run -Denv=haslistener

As you say: for IDE debugging: we need a Remote Java Application & 
jvmFlags, discussed at length here:
https://stackoverflow.com/questions/138511/what-are-java-command-line-options-to-set-to-allow-jvm-to-be-remotely-debugged
someone says:
For Java 5 and above, run it with:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
rather than
Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n
I havent tried this yet.

With this setup the dev GAE server uses the cloud datastore (& blobstore I 
think).
To fix, in the gloud CLI app run:
gcloud components install cloud-datastore-emulator
If you didnt install beta commands, it will prompt for that.
cloud-datastore-emulator 2.3.1
before launch of GAE server run:
gcloud beta emulators datastore start --project='prjname' 
--host-port=localhost:8081 
--data-dir=C:\Users\tim_m\eclipse-workspace\Snptn\Snptn-server\src\main\webapp

Set environment variable in the eclipse launch to attach this 
DATASTORE_EMULATOR environment 
Last time I looked: the local datastore viewer cant show objectify 
entities, only blobstore files.

Re  copying src/main/webapp files to the target folder: afaik that is done 
by 
maven-jar-plugin jar goal (jar:jar) which is invoked by calling package 
(phase)
 
Btw I often read that the tbroyer multi-project pattern is better because 
it keeps server & client dependencies separated, but its a more complex 
pattern.
Re the poms I attached here: 1 problem is inconsistencies in:
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>

    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>

On Saturday, December 23, 2023 at 7:35:42 AM UTC Craig Mitchell wrote:

> 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/c9aadbf3-532a-4c5c-8072-00e5ad7e9413n%40googlegroups.com.

Reply via email to