The Tomcat maven plugin is great. It lets you build executable Jar files from your regular maven web project.
With the embedded Tomcat you loose the usual conf directory, so you need to think a bit about putting the config some where. You can specify it inline with the code like so:
This is ok, until you want to run multiple server instances on different ports etc
Properties can also be overriden on the command line. However, this does not seem to work properly. Some digging around the plugin code revealed that the plugin runner (org.apache.tomcat.maven.runner.Tomcat7Runner) looks for the server.xml first. If, found it ignores other flags! So if you need to configure your Jar with embedded Tomcat, you need to provide the server.xml on the command line like this:
Now you can start multiple instance with the same Jar and safely externalize server config.