-
Notifications
You must be signed in to change notification settings - Fork 26
Getting Started Hello
The documentation for sbt has moved to http://scala-sbt.org. The new location for this page is http://scala-sbt.org/release/docs/Getting-Started/Hello.
Previous Getting Started Guide page 3 of 14. Next
This page assumes you've installed sbt.
A valid sbt project can be a directory containing a single source file. Try creating a directory hello
with a file hw.scala
, containing the following:
object Hi {
def main(args: Array[String]) = println("Hi!")
}
Now from inside the hello
directory, start sbt and type run
at the sbt interactive console. On Linux or OS X the commands might look like this:
$ mkdir hello
$ cd hello
$ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala
$ sbt
...
> run
...
Hi!
In this case, sbt works purely by convention. sbt will find the following automatically:
- Sources in the base directory
- Sources in
src/main/scala
orsrc/main/java
- Tests in
src/test/scala
orsrc/test/java
- Data files in
src/main/resources
orsrc/test/resources
- jars in
lib
By default, sbt will build projects with the same version of Scala used to run sbt itself.
You can run the project with sbt run
or enter the Scala REPL
with sbt console
. sbt console
sets up your project's classpath so you can
try out live Scala examples based on your project's code.
Most projects will need some manual setup. Basic build settings go
in a file called build.sbt
, located in the project's base directory.
For example, if your project is in the directory hello
, in hello/build.sbt
you might write:
name := "hello"
version := "1.0"
scalaVersion := "2.9.1"
Notice the blank line between every item. This isn't just for show; they're actually required in order to separate each item. In .sbt build definition you'll learn more about how to write a build.sbt
file.
If you plan to package your project in a jar, you will want to set at least
the name and version in a build.sbt
.
You can force a particular version of sbt by creating a file hello/project/build.properties
.
In this file, write:
sbt.version=0.12.0
From 0.10 onwards, sbt is 99% source compatible from release to release. Still,
setting the sbt version in project/build.properties
avoids any potential
confusion.
Learn about the file and directory layout of an sbt project.