Versioned dependencies
We mentioned the twelve factor application methodology in <
Build tools like Apache Maven3 or Gradle4 provide easy mechanisms for defining and managing dependency versions. Explicitly declaring the version ensures that the artifact will run the same in production as it did in the testing environment.
There are tools available to make creating new java applications that use Maven and Gradle easier. These tools will accept as inputs a selection of technologies, and will output project structures complete with the Maven or Gradle build artifacts required to build and either publish or deploy the final artifact. Here are a few:
- WebSphere Liberty App Accelerator5
- Spring Initializr6
- Wildfly Swarm Project Generator7