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/b822ea4b-b4ab-406d-a03b-38e848ea3ff1n%40googlegroups.com.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>team.drift</groupId>
<artifactId>drift-team</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<!-- Defines what dependencies can be used -->
<dependencyManagement>
<dependencies>
<!-- GWT -->
<dependency>
<groupId>org.gwtproject</groupId>
<artifactId>gwt</artifactId>
<version>2.10.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Actually uses these dependencies -->
<dependencies>
<!-- GWT -->
<dependency>
<groupId>org.gwtproject</groupId>
<artifactId>gwt-user</artifactId>
</dependency>
<dependency>
<groupId>org.gwtproject</groupId>
<artifactId>gwt-dev</artifactId>
</dependency>
<dependency>
<groupId>org.gwtproject</groupId>
<artifactId>gwt-servlet</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- Google App Engine -->
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>2.0.23</version>
</dependency>
<!-- JSON on the server -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/json.jar</systemPath>
</dependency>
<!-- PayPal -->
<dependency>
<groupId>com.paypal.core</groupId>
<artifactId>paypal</artifactId>
<version>1.0.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/checkout-sdk-1.0.3.jar</systemPath>
</dependency>
<dependency>
<groupId>com.paypal.http</groupId>
<artifactId>paypalhttp</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/paypalhttp-1.0.1.jar</systemPath>
</dependency>
<!-- PNG compressor -->
<dependency>
<groupId>com.googlecode.pngtastic</groupId>
<artifactId>pngtastic</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/pngtastic-1.6.jar</systemPath>
</dependency>
<!-- JUnit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Google App Engine -->
<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>
<!-- GWT -->
<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>
</plugins>
<pluginManagement>
<plugins>
<!-- Use the latest Maven 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>
</build>
</project>