Building and Deploying Locally

The canonical redeploy cycle. CLAUDE.md has the longer first-time setup flow; this page is the routine version that lives in muscle memory.

When to use this runbook

Every time you want to see your local code change running. Every time.

Context

Tomcat's webapps directory is at tomcat/tomcat-11/webapps/. Tomcat auto-deploys WARs dropped into that directory, but it doesn't always pick up wiring changes from a hot reload (filter chains, listener order). The shutdown-wipe-copy-startup cycle is the safe baseline.

bin/deploy-local.sh is the heavier alternative — it also re-applies config templates and runs DB migrations. Use it after pulling a branch that changed config templates or schema; otherwise the routine cycle above is faster.

Walkthrough

The frontmatter steps are the canonical sequence. The readiness check at the end (step 6) is the difference between "Tomcat is up" and "the structural index has finished bootstrap" — both matter for agent-grade endpoints.

Pitfalls

The frontmatter pitfalls capture the recurring traps. The "editing wikantik-custom.properties in the gitignored tomcat dir" mistake is especially expensive because the loss is silent — the next deploy reverts the change without warning.