> Then create a compound launcher to start everything with one click.
This is a bad idea, as the code server needs to start first (I was sometimes getting
com.google.gwt.user.client.rpc.SerializationException errors, as the codeserver hadn't finished creating the client code before the server launched).
I haven't come up with a great solution to launching everything at once. The best I've done is just put a delay in the servers pom.xml:
<!-- Wait 10 seconds before starting Spring Boot, so the GWT Code Server starts up first -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>sleep-before-springboot</id>
<phase>initialize</phase>
<configuration>
<target>
<sleep seconds="10" />
<echo message="Waited 10 seconds before starting Spring Boot"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
I looked at creating a script, but using a script means IntelliJ doesn't know it's running, and its "Stop All" button doesn't work.