watch and deploy

Watch and Deploy - deploying ThinWARs without IDE plugins

WAD on GitHub AdamBien/wad

watch and deploy (WAD)

WAD watches changes in src\main\java folder, builds the project using the pom.xml and deploys the ThinWAR into the configured folder.

installation

Download the executable and self-contained wad.jar

usage

Launch WAD from within your ThinWAR-project created with javaee8-essentials-archetype.

[THIN_WAR]/java -jar wad.jar [DEPLOYMENT_DIR ANOTHER_DIR]

e.g.

[THIN_WAR]/java -jar wad.jar /openliberty/wlp/usr/servers/defaultServer/dropins/ dist

wad can be also configured in ~/.wadrc. Each deployment folder in an new line:

/Users/duke/payara/glassfish/domains/domain1/autodeploy 
/Users/duke/openliberty/usr/servers/defaultServer/dropins
/Users/duke/tomee/webapps
/Users/duke/wildfly/standalone/deployments

On each source change WAD will:

  1. Use the current directory as the service name
  2. Build the project using the pom.xml found in the directory
  3. Copy the ./target/[name].war into the path used as parameter

You only have to write code and save it frequently like this:

 WAD

common deployment directories

WildFly wildfly-[VERSION].Final/standalone/deployments

OpenLiberty openliberty-[VERSION]/usr/servers/defaultServer/dropins

Payara payara/glassfish/domains/domain1/autodeploy

TomEE tomee-[version]/webapps

deploy’em all

WAD also supports simultaneous deployment to multiple servers

[THIN_WAR]/java -jar wad.jar /openliberty/wlp/usr/servers/defaultServer/dropins/ wildfly/standalone/deployments payara/glassfish/domains/domain1/autodeploy tomee/webapps

run from anywhere

A a shell script:

#!/bin/bash
BASEDIR=$(dirname $0)
java -jar ${BASEDIR}/wad.jar "$@"%

will install WAD “globally”. Now you can launch WAD from any directory you like e.g.

wad.sh /openliberty/wlp/usr/servers/defaultServer/dropins/

articles

“Improved Java / Jakarta EE Productivity with wad.sh” by @rieckpil

Any questions left? See you at airhacks.tv.