Maven
Apache Maven is a build automation and project management tool used primarily for Java projects
Sbt
Sbt is an open source build tool for Scala and Java projects, similar to Java's Maven or Ant.
Others
Example |
---|
You have to add a scale compiler plugin such sbt-compiler plugin sbt compiler plugin example pom using maven with scala in specific use case profiles complex deployments deep hierarchy is even better than pure sbt but at the beginning is a bit tricky from question Compiling Scala Using Maven |
I think i will decide to go with maven as sbt integrates better with my build server continuous deployment from question SBT vs Maven for a new Scala/Spark project? |
Apache buildr configuration is significantly cleaner than either maven s or sbt s and apache buildr startup time is orders of magnitude less when running under mri from question What's the best Scala build system? |
You can simply access sys.props a bidirectional mutable map representing the current system properties. so you can do something like this if you want to have more advanced custom properties from file in your build.scala sbt is more powerful than maven because you can simply write scala code if you need something very custom from question How do I consume -D variables in build.scala using SBT? |
Also i strongly recommend using sbt over maven if you re primarily working with scala sbt handles combined java and scala builds too from question Scala-maven-plugin failed to execute |
A maven plugin is a jar file but with packaging maven-plugin not jar as it would be usual;but apparently sbt does not like it or does not find it for some reason from question Use maven plugin on SBT |
You can find the docs and sources in regular .jar format on maven central i would still recommend using sbt from question IDEA: viewing Scala (core) sources in a non-SBT project |