Live reload with appengine-maven-plugin

Google’s appengine-maven-plugin is cool. Especially for deploying your app to the cloud. But for developing it can be cumbersome, since the hot deploy mechanism is not very stable and you often have to restart the devserver. Since I wanted to get more into the whole JavaScript build chain I had a look at grunt but I just couldn’t get the configuration running with connect and livereload. And then I found this link:
First of all you have to install node.js as described here. To install the livereloadx run:

npm install -g livereloadx

With this command

livereloadx -l -p 35729 src/main/webapp/ --proxy http://localhost:8080/ 

you can start a proxy server that listens on port 35729 and checks first src/main/webapp/ for requests. If it doesn’t find the resource there it will check http://localhost:8080 for the resource. In my case the devserver run on http://localhost:8080 and the rest interface will respond to any calls that cannot be answered from src/main/webapp.

If you install the chrome plugin from
the chrome store your browser will refresh automatically

UPDATE: It seems that the current version doesn’t handle HTTP POST requests if the “prefer-local” flag is set (the “-l” in the example above). I filed a bug and I hope that this will be fixed soon:

UPDATE2: It has been fixed. Thank you very much nitoyon!

Posted by Daniel Eichhorn

Daniel Eichhorn is a software engineer and an enthusiastic maker. He loves working on projects related to the Internet of Things, electronics, and embedded software. He owns two 3D printers: a Creality Ender 3 V2 and an Elegoo Mars 3. In 2018, he co-founded ThingPulse along with Marcel Stör. Together, they develop IoT hardware and distribute it to various locations around the world.

Leave a Reply