To package and distribute the app to production environment, native packager plugin is recommended. More details are provide here.
To start add in this line below in your plugins.sbt file.addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.9")
Check the latest available version here.
Next, enable the plugin in your build.sbt file:
lazy val myProject = (project in file("."))
.enablePlugins(JavaAppPackaging)
Finally, run the following command to start packaging your project:
sbt clean universal:packageBin
Your packaged application can be found as a zipped file under /target/universal.
Unzip the file. Navigate to the bin directory, there you will find two executable files that will help start your application.