Many of the projects I’m involved in use Maven as build system due to its reliability, widespread use, and flexibility. However, I often find myself hurdling around bad choices with regard to the build process. In this article I’d like to illustrate some of the most useful techniques to implement flexible, adaptable, and secure builds with Maven. Download the example project from GitHub Key requirements of an enterprise build Enterprise projects have demanding requirements when it comes to configuration and build management.
Modern web applications using React and other frameworks are often distributed as static websites. It is undoubtely the simplest, cache-friendly and dead-cheap solution. However, some enterprisey projects (think about data-entry and legacy business applications) need to be deployed in a constrained environment like a Java JEE Servlet Engine (Tomcat, Jetty, Resin) or a full-fledged Application Server (Weblogic, JBoss / WildFly, Websphere). Forget having your app deployed on a separate “lightweight” web server like Apache or Nginx, let alone a dedicated 3rd-level domain or IP address like frontend.