sbt 使用入门


sbt 执行
只需要下载一个jar sbt-launch.jar就可以使用,使用时创建/执行以下内容的 bat文件, sbt.bat
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar sbt-launch.jar "$@"
 
sbt默认启动配置说明

sbt-launch.jar包中自带sbt/sbt.boot.properties描述文件,默认将在

....
[boot]
 directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
   ↑用户/.sbt下生成sbt运行时boot文件

[ivy]
  ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}       <--- 用户/.ivy2下生成类似maven的m2的仓库缓存目录.
  checksums: ${sbt.checksums-sha1,md5}
  override-build-repos: ${sbt.override.build.repos-false}
  repository-config: ${sbt.repository.config-${sbt.global.base-${user.home}/.sbt}/repositories}
...

官方说明:http://www.scala-sbt.org/release/docs/Detailed-Topics/Launcher.html

自定义sbt.boot.propertie
[scala]
  version: ${sbt.scala.version-auto}

[app]
  org: ${sbt.organization-org.scala-sbt}
  name: sbt
  version: ${sbt.version-read(sbt.version)[0.12.2]}
  class: ${sbt.main.class-sbt.xMain}
  components: xsbti,extra
  cross-versioned: ${sbt.cross.versioned-false}

[repositories]
  local
  maven-local
  typesafe-ivy-releases: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]
  maven-central
  sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots

[boot]
  directory: E:/play-2.1.0/framework/sbt/boot

[ivy]
  ivy-home: E:/play-2.1.0/repository
  checksums: ${sbt.checksums-sha1,md5}
  override-build-repos: ${sbt.override.build.repos-false}
  repository-config: ${sbt.repository.config-${sbt.global.base-${user.home}/.sbt}/repositories}

sbt.bat 写法

fp= <你的定义文件目录>
java -Dsbt.boot.properties="%fp%sbt.boot.properties" -Dsbt.log.noformat=true -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar "%p%\sbt-launch-0.12.3.jar" %*

附录:
自带sbt的项目(以playframework为例)
 sbt使用ivy(与maven类似)做管理库
ivy本地缓存路径设置
 resolvers ++= Seq(
        "Local Play Repository" at "file://E:/play-2.1.0/repository"

或者
resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository"  
执行时指定
sbt -Dsbt.ivy.home=E:/play-2.1.0/repository

猜你喜欢

转载自jmu.iteye.com/blog/2057278
sbt