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 on the left of every page.
See also Frequently asked question.
See How can I get help? for where you can get help about sbt.
For discussing sbt development, use Discussions.
To stay up to date about the news related to sbt, follow us @scala_sbt.
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
- Library management support using Coursier
- Continuous compilation and testing with
- 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
This documentation can be forked
on GitHub. Feel free to make
corrections and add documentation.
Documentation for 0.13.x has been
archived here. This
documentation applies to sbt 1.7.2.
See also the API Documentation,
and the index of names and types.