Artikel ini adalah catatan yang merupakan terusan dari catatan saya yang kemaren (silahkan dibaca di https://www.facebook.com/note.php?note_id=10150284078246807 atau di http://bambangpdp.wordpress.com/2011/06/12/membuat-aplikasi-web-dengan-scala-servlet-dan-sbt/). Jika di artikel tersebut saya menggunakan sbt 0.7.7, sekarang saya akan menggunakan sbt 0.10.0 yang merupakan versi stabil terbaru. Ada beberapa perubahan yang lumayan mendatangkan kebingungan:
- Website dari sbt sudah berpindah, dari http://code.google.com/p/simple-build-tool/ ke https://github.com/harrah/xsbt/wiki.
- Task untuk proyek web sekarang terpisah menjadi suatu plugin dan dokumentasinya benar-benar kurang (itu sebabnya saya menulis ini
). Nama plugin untuk task ini adalah xsbt-web-plugin, bisa diakses di https://github.com/siasia/xsbt-web-plugin
Beberapa perubahan yang bisa saya dokumentasikan dari catatan saya untuk yang versi 0.7.7 seperti yang dijelaskan di atas adalah:
- Saat membuat proyek baru, hanya terdapat direktori project dan target. Direktori untuk source code harus dibuat sendiri (src/main/* dan src/test/*).
- Tidak perlu membuat project/IntroBuild.scala karena sudah disatukan di $PROJECT_HOME/build.sbt.
- File project/build.properties tetap dipertahankan dan hanya berisi versi dari sbt
- Untuk instalasi plugin, cukup menggunakan project/plugins/build.sbt (direktori plugins dibuat sendiri).
Berikut ini adalah isi dari file-file yang diperlukan serta berbagai perubahan yang diperlukan:
$PROJECT_HOME/build.sbt
name := "Servlet Introduction using Scala and sbt 0.10.0" version := "1.0" scalaVersion := "2.9.0-1" organization := "bpdp.name" resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/akka-repo-cache" libraryDependencies ++= Seq( "se.scalablesolutions.akka" % "akka-actor" % "1.1.2", "junit" % "junit" % "4.8" % "test", "javax.servlet" % "servlet-api" % "2.5", "org.mortbay.jetty" % "jetty" % "6.1.26" % "jetty" ) seq(WebPlugin.webSettings :_*)
Catatan:
- Baris berisi resolvers dan se.scalablesolutions.akka di atas boleh dihapus jika tidak memerlukan akka.
- seq(WebPlugin.webSettings :_*) berasal dari xsbt-web-plugin
project/build.properties
sbt.version=0.10.0
project/plugins/build.sbt
resolvers += "Web plugin repo" at "http://siasia.github.com/maven2"
//Following means libraryDependencies += "com.github.siasia" %% "xsbt-web-plugin" % <sbt version>
libraryDependencies <+= sbtVersion("com.github.siasia" %% "xsbt-web-plugin" % _)
Struktur direktori src
. |-- main | |-- java | |-- resources | |-- scala | | `-- IntroServlet.scala | `-- webapp | `-- WEB-INF | `-- web.xml `-- test |-- java |-- resources `-- scala
Seperti biasa, jika sudah siap, dari prompt sbt, kerjakan reload dan update. That’s all folks, happy hacking with {Scala|sbt}!

Posted on June 19, 2011
0