A few changes are necessary for the best out-of-the-box experience on Docker-based application
platforms such as OpenShift:
1. For security purposes, they run the containers as non-root. Before this change, the user was
trying to write to the home dir, which is set to /root by default.
2. Deploy time is limited, and the download of dependencies by Jetty at start-up time, while
convenient for testing, causes timeouts when deploying. a WAR is now created during
Docker image creation, and as a result starting up the container is really fast now.
In addition, it is now possible to enable debug logging for Jetty by uncommenting the
relevant line in the Dockerfile.
Add project name to maven pom.
Configure maven-eclipse-plugin wtp contextpath to "plantuml" for running
from eclipse embedded servers.
Add jetty-maven-plugin to maven pom allowing to run the webapp by
executing jetty:run-exploded or jetty:run-war maven goals.
Downgrade servlet-api dependency version to 2.4 to match web.xml
setting.
Remove development "leaked" dependency on jersey-server.
Changed maven build final name to produce "plantuml.war" as the previous
ant build.
Improved unit tests to be independent of externally running servlet container, now every test runs its own embedded jetty server (and stops it afterward).
Removed all eclipse artifacts (.project, .classpath, .settings, etc.) and added to .gitignore to be independent of development environment (can be autogenerated by maven, or better yet use m2eclipse).
Removed embedded dependency jars since they are handled automatically by maven.