1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>sbt, a simple build tool | sbt</title> 7 <meta name="description" content="sbt is a simple build tool for Scala, Java, and more. Define your tasks in Scala. Run them in parallel from the interactive shell."> 8 <link rel="icon" href="/assets/favicon.ico"> 9 <link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"> 10 <link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon-96x96.png"> 11 <link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"> 12 <link rel="stylesheet" href="/css/site.css"> 13 <link rel="stylesheet" href="/assets/docsearch.css"> 14
14<script defer data-domain="scala-sbt.org" src="https://plausible.scala-lang.org/js/script.js"></script>
14 15 </head> 16 <body> 17 <nav class="navbar"> 18 <div class="container navbar__inner"> 19 <a class="navbar__brand" href="/"> 20 <img src="/assets/sbt-logo.svg" alt="sbt logo"> 21 </a> 22 <div class="navbar__menu" id="navbar-menu"> 23 <div class="navbar__items navbar__items--left"> 24 <a class="navbar__link" href="/learn/">Learn</a> 25 <a class="navbar__link" href="/download/">Download</a> 26 <a class="navbar__link" href="/community/">Get Involved</a> 27 </div> 28 <div class="navbar__items navbar__items--right"> 29 <a class="navbar__link" href="https://www.scala-sbt.org/1.x/docs/">1.x docs</a> 30 <a class="navbar__link" href="https://www.scala-sbt.org/2.x/docs/en/">2.x docs</a> 31 <a class="navbar__link" href="https://github.com/sbt/sbt">GitHub</a> 32 </div> 33 </div> 34 <div class="navbar__search" id="docsearch"></div> 35 <button 36 class="navbar__toggle" 37 type="button" 38 aria-expanded="false" 39 aria-controls="navbar-menu" 40 aria-label="Toggle navigation menu" 41 > 42 <span class="navbar__toggle-bar"></span> 43 <span class="navbar__toggle-bar"></span> 44 <span class="navbar__toggle-bar"></span> 45 </button> 46 </div> 47</nav> 48 49 <main> 50 51<header class="hero"> 52 <div class="container"> 53 <h1 class="hero__title">sbt</h1> 54 <p class="hero__subtitle">A simple build tool</p> 55 <div class="hero__buttons"> 56 <a class="button button--secondary" href="/download/">Get sbt 2.0.9 (latest stable)</a> 57 <a class="button button--secondary" href="https://www.scala-sbt.org/2.x/docs/en/">Documentation</a> 58 </div> 59 </div> 60</header> 61 62<section class="section"> 63 <div class="container"> 64 <h2>Simple things easy</h2> 65 <h3>Hello, world!</h3> 66 <pre><code class="language-scala">ThisBuild / scalaVersion := "3.8.4"</code></pre> 67 <p>You just need one line of <code>build.sbt</code> to get started with Scala. Learn more on <a href="https://www.scala-sbt.org/1.x/docs/sbt-by-example.html">sbt by Example</a> page.</p> 68 69 <h3>sbt new</h3> 70 <p>Choose from community-maintained <a href="https://github.com/search?o=desc&p=1&q=g8&s=stars&type=Repositories">Giter8 templates</a> to jump start your project:</p> 71 <pre><code>$ sbt new scala/scala-seed.g8 72$ sbt new playframework/play-scala-seed.g8 73$ sbt new akka/akka-http-quickstart-scala.g8 74$ sbt new http4s/http4s.g8 75$ sbt new holdenk/sparkProjectTemplate.g8</code></pre> 76 </div> 77</section> 78 79<section class="section"> 80 <div class="container"> 81 <h2>Why sbt?</h2> 82 <div class="row"> 83 <div class="col col--3"> 84 <h3>For Scala and Java</h3> 85 <p> 86 sbt is built for Scala and Java projects. It is the build tool of choice 87 for <a href="https://scalasurvey2026.virtuslab.com/#diagramq14">85.7%</a> of the Scala developers (2026). 88 One of the examples of Scala-specific feature is the ability to <i>cross build</i> your 89 project against multiple Scala versions. 90 </p> 91 </div> 92 <div class="col col--3"> 93 <h3>Typesafe and parallel</h3> 94 <p> 95 <code>build.sbt</code> is a Scala-based DSL to express parallel processing task graph. 96 Typos in <code>build.sbt</code> will be caught as a compilation error. 97 </p> 98 </div> 99 <div class="col col--3"> 100 <h3>Speedy iteration</h3> 101 <p> 102 With Zinc incremental compiler and file watch (<code>~</code>), 103 edit-compile-test loop is fast and incremental. 104 </p> 105 </div> 106 <div class="col col--3"> 107 <h3>Extensible</h3> 108 <p> 109 Adding support for new tasks and platforms (like Scala.js) is 110 as easy as writing <code>build.sbt</code>. 111 Join <a href="https://www.scala-sbt.org/1.x/docs/Community-Plugins.html">100+ community-maintained plugins</a> to 112 share and reuse sbt tasks. 113 </p> 114 </div> 115 </div> 116 </div> 117</section> 118 119<section class="section"> 120 <div class="container"> 121 <h2>Beyond the build tool</h2> 122 <div class="row"> 123 <div class="col col--6"> 124 <p> 125 Previously 21% of the developer's time was spent in redeploying 126 WebLogic application, which was unacceptable. We had to find a solution: 127 some way of productivity to go high. 128 This is one of the reasons why we have Play and Akka. 129 We were really impressed with the hot reload. 130 Now the developers are clearly more productive. 131 <br><i>â Keyur Shah, Associate Fellow, Verizon</i> 132 </p> 133 </div> 134 <div class="col col--6"> 135 <p> 136 sbt is a core critical component of Tapad's tech stack. 137 Its use beyond the build tool is largely responsible for 138 the massive efficiency gains that the engineering organization has 139 come to appreciate. 140 sbt and its interactive shell comprise the interface to the standardized 141 application testing, release, and deployment platform. 142 Artifacts and applications are delivered, updated, and scaled across 143 four global data centers. 144 <br><i>â Jeffrey Olchovy, CTO, Tapad</i> 145 </p> 146 </div> 147 <div class="col col--6"> 148 <p> 149 You can use sbt-native-packager to build native formats like Docker, 150 sbt-release has nice steps to take care of versioning, 151 sbt-bintray can be used to release to Bintray. 152 There's a pattern: You bring in a plugin. It has some settings. 153 You read the documentations to learn about the setting. 154 And it does its jobs. 155 <br><i>
155â Gabriel Asman, Software Developer, Ovo Energy</i> 156 </p> 157 </div> 158 </div> 159 </div> 160</section> 161 162 163 </main> 164 <footer class="footer"> 165 <div class="container"> 166 <div class="footer__grid"> 167 <div class="footer__section"> 168 <h3>Docs</h3> 169 <ul> 170 <li><a href="https://www.scala-sbt.org/1.x/docs/">sbt 1.x docs</a></li> 171 </ul> 172 </div> 173 <div class="footer__section"> 174 <h3>Community</h3> 175 <ul> 176 <li><a href="https://discord.com/invite/scala">Discord</a></li> 177 <li><a href="https://floss.social/@scala_sbt">Mastodon</a></li> 178 <li><a href="https://bsky.app/profile/scala-sbt.org">Bluesky</a></li> 179 <li><a href="https://stackoverflow.com/questions/tagged/sbt">Stack Overflow</a></li> 180 </ul> 181 </div> 182 <div class="footer__section"> 183 <h3>More</h3> 184 <ul> 185 <li><a href="https://github.com/sbt/sbt">GitHub</a></li> 186 </ul> 187 </div> 188 </div> 189 <p class="footer__copyright">Copyright ©
189<script>document.write(new Date().getFullYear())</script>
189 Scala Center.</p> 190 </div> 191</footer> 192 193
193<script src="/assets/docsearch.js"></script>
193 194
194<script> 195 docsearch({ 196 container: "#docsearch", 197 appId: "U55AU5GMCN", 198 apiKey: "45ef8a0285275e68a1c09ecdfff2be0f", 199 indices: [ 200 { 201 name: "scala-sbt", 202 searchParameters: { 203 facetFilters: ["lang:en"], 204 }, 205 }, 206 ], 207 }); 208 </script>
208 209
209<script src="/js/nav.js"></script>
209 210
210<script src="/js/tabs.js"></script>
210 211 </body> 212</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.