This is a common issue that comes from the java world, packaging and installing is not done in the same way as for compiled code in other languages.
This is a consequence of the fact that JVM code is made to be portable on any platform, through the use of the Virtual Machine that resides on the host machine.
In this scenario, the host system is supposed to have the Java Runtime Environment (the native environment for the JVM on the specific platform) installed, while the application code can be portable and once compiled in "bytecode" it will run on any compatible (as of version) JRE.
That's the soul of the java slogan "write once, run everywhere".
Now that we've gone over the history lesson, there are solutions, more or less official, to embed the runtime with your application, proposed for the java ecosystem. This is equivalent for scala, since the scala code is compiled exactly as java is, so the final artifact can run on the JRE. You only need to take care that the scala-lang jar is included with your dependencies.
As for packaging the jars fot project dependencies, here we have other options, but I don't know of any that's directly offered by Eclipse.
It packages in a single jar all the dependencies declared in the sbt build file.
I suppose you can find similar solutions for Maven.
I can't say about eclipse, but for certain, you can export a project in a jar using the File>export menu.
bye
Ivano