‘Make JAR, not WAR.’ — Josh Long

  1. Runnable Jars are a convenient way to package self-contained runnable application. This way we can minimize the dependencies.
  2. It is very cloud friendly and convenient. (bring your own container)
  3. Sharing application server by multiple applications was one of the reasons for packing multiple applications as wars.
  4. Build by Spring boot Maven and Gradle plugin
  5. Version control everything that is needed to run the application
  6. Easy to scale. For instance, copy it to another server, and then ‘just run it’. No installation and/or configuration necessary of a container such as TomEE, Wildfly, Websphere etc.
  7. Since we have to provide all dependencies, we know exactly what they are for each build
  8. We would like seen application as a single process that can be easily restarted with a service like upstart.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store