sbt Reference Manual
sbt is a build tool for Scala, Java, and
more. It requires Java 1.8 or
See Installing sbt for the setup instructions.
To get started, please read the
Getting Started Guide. You will save
yourself a lot of time if you have the right understanding of the big
All documentation may be found via the table of contents included at the end of every page.
Use Stack Overflow for
questions. Use the sbt-dev mailing list for discussing sbt
development. Use @scala_sbt for questions and discussions.
Features of sbt
- Little or no configuration required for simple projects
- Scala-based build definition that can
use the full flexibility of Scala code
- Accurate incremental recompilation using information extracted from
- Continuous compilation and testing with
- Packages and publishes jars
- Generates documentation with scaladoc
- Supports mixed Scala/Java projects
- Supports testing with ScalaCheck,
specs, and ScalaTest. JUnit is supported by a plugin.
- Starts the Scala REPL with project classes and dependencies on the
- Modularization supported with
- External project support (list a git repository as a dependency!)
- Parallel task execution,
including parallel test execution
- Library management support:
inline declarations, external Ivy or Maven configuration files, or
This documentation can be forked
on GitHub. Feel free to make
corrections and add documentation.
Documentation for 0.7.x has been
archived here. This
documentation applies to sbt 1.1.6.
See also the API Documentation,
and the index of names and types.