Maven is an archaic, verbose nightmare compared to SBT. SBT can be annoyingly esoteric at times, but even for the simplest thing like "add these JARs and compile," SBT wins over Maven, no question.
<groupId>com.foocorp</groupId>
<artifactId>foo</artifactId>
<version>1.2</version>
is far less archaic and more understandable than "com.foocorp" % "foo" % "1.2"I generally prefer gradle's method of 'com.foocorp:foo:1.2' but that isn't acceptable statically. scala string interpolators could make it a thing, though.
libraryDependencies += "com.lihaoyi" %% "scalatags" % "0.4.3"
libraryDependencies += "com.lihaoyi" %%% "scalatags" % "0.4.3"Far and away the biggest blocker to learning sbt is the shaky IDE support for the build project. Apparently that's coming up next in 1.0; will be nice to click through to source from sbt build files and instantly grok what X symbol means. Have wasted a lot of time over the years slogging through documentation...
ModuleID(organization = "com.foocorp", name = "foo", revision = "1.2")