sbt更改預設ivy倉庫位置

fairjm發表於2014-12-26

本文來自圖靈社群 轉截請註明出處


文件上有寫:
http://www.scala-sbt.org/0.13/docs/Launcher-Configuration.html

一開始以為是要配置conf下的檔案 sbt/0.13/conf/sbtopts

# Path to local Ivy repository (default: ~/.ivy2)
#
-ivy H:/repository/jar    

但配置後無效,sbt啟動下載的jar依舊是放在了~/.ivy2
最後發現文件中的配置檔案是在sbt\0.13\bin\sbt-launch.jar中的\sbt\sbt.boot.properties中(可用rar解壓工具直接開啟修改並覆蓋),修改後內容如下:

    [scala]
      version: ${sbt.scala.version-auto}

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

    [repositories]
      local
      oschina nexus:http://maven.oschina.net/content/groups/public/
      typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
      maven-central
      sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
      play: http://private-repo.typesafe.com/typesafe/maven-releases/
      sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots

    [boot]
      directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}

    [ivy]
      ivy-home: H:\repository\jar
      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(win下)的方式在啟動命令後面加上引數指定。

不過對於第一個修改沒有影響到倉庫位置還是很詫異,註釋上不是寫了這個引數是倉庫位置嗎。或許是我理解錯了。

PS:activator的預設位置也可以通過這樣修改,檔案在jar(例如:activator-launch-1.2.12.jar)中的路徑是一樣的。

相關文章