Jay*_*Jay 8 sbt playframework typesafe-activator playframework-2.3
我刚开始学习Play Framework 2.3.0并试图移动
.activator.sbt.ivy文件夹中的%USERPROFILE%文件夹到C:/learning/playframework/我的Windows 7计算机上的自定义文件夹.我希望它们在重新安装操作系统时可移植/不丢失.
我修改了sbt.boot.properties并更改user.home为自定义位置并作为参数传递play.home给activator.bat.
虽然.sbt和.ivy文件夹中的自定义文件夹是最初创建,当我尝试创建一个新的应用程序HelloWorld所有这些文件夹重新获得在用户目录中创建%USERPROFILE%和所有的文件下载那里.将.activator永远不会在自定义文件夹中创建,并始终在中创建%USERPROFILE%的文件夹.
我也确保路径上没有空格.
sbt.boot.properties:
[app]
org: com.typesafe.activator
name: activator-launcher
version: ${activator.version-read(activator.version)[1.2.1]}
class: activator.ActivatorLauncher
cross-versioned: false
components: xsbti
[repositories]
local
activator-local: file://${activator.local.repository-${activator.home-${play.home}/.activator}/repository}, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-central
typesafe-releases: http://repo.typesafe.com/typesafe/releases
typesafe-ivy-releasez: http://repo.typesafe.com/typesafe/ivy-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
[boot]
directory: ${sbt.boot.directory-${sbt.global.base-${play.home}/.sbt}/boot/}
properties: ${activator.boot.properties-${play.home}/.activator/version-${activator.launcher.generation-0}.properties}
[ivy]
ivy-home: ${play.home}/.ivy2
checksums: ${sbt.checksums-sha1,md5}
override-build-repos: ${sbt.override.build.repos-false}
repository-config: ${sbt.repository.config-${sbt.global.base-${play.home}/.sbt}/repositories}
Run Code Online (Sandbox Code Playgroud)
请告知配置Activator/Play Framework,例如,3个目录和存储库是在自定义目录中创建的C:/learning/playframework/.
永远不会在自定义文件夹中创建.activator,并始终在%USERPROFILE%文件夹中创建.activator.
我的理解是~/.activator由启动脚本控制,您应该能够指向自定义目录.
因为~/.sbt我应该使用sbt.global.base属性,因为我看到它在sbt代码本身中使用.
如果你想在引擎盖下看,可以查询主目录为SBT和常春藤与当前值consoleProject命令(它假设你开始activator使用activator -Dsbt.global.base=./sbt -Dsbt.ivy.home=./ivy2):
> consoleProject
[info] Starting scala interpreter...
[info]
import sbt._
import Keys._
import _root_.sbt.plugins.IvyPlugin
import _root_.sbt.plugins.JvmPlugin
import _root_.sbt.plugins.CorePlugin
import _root_.sbt.plugins.JUnitXmlReportPlugin
import currentState._
import extracted._
import cpHelpers._
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_60).
Type in expressions to have them evaluated.
Type :help for more information.
scala> appConfiguration.eval.provider.scalaProvider.launcher.bootDirectory
res0: java.io.File = /Users/jacek/sandbox/sbt-launcher/minimal-scala/sbt/boot
scala> appConfiguration.eval.provider.scalaProvider.launcher.ivyHome
res1: java.io.File = /Users/jacek/.ivy2
Run Code Online (Sandbox Code Playgroud)
当且仅当你真正进入说服力激活使用sbt.ivy.home,你必须改变sbt/sbt.boot.properties在activator-launch-1.2.2.jar.请按照以下步骤操作:
解压缩sbt/sbt.boot.properties出来的activator-launch-1.2.2.jar.
jar -xvf activator-launch-1.2.2.jar sbt/sbt.boot.properties
Run Code Online (Sandbox Code Playgroud)编辑sbt/sbt.boot.properties并替换ivy-home下[ivy].
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2}
Run Code Online (Sandbox Code Playgroud)将更改添加sbt/sbt.boot.properties到activator-launch-1.2.2.jar.
jar -uvf activator-launch-1.2.2.jar sbt/sbt.boot.properties
Run Code Online (Sandbox Code Playgroud)随着变化,-Dsbt.ivy.home=./ivy2工作正常.
scala> appConfiguration.eval.provider.scalaProvider.launcher.bootDirectory
res0: java.io.File = /Users/jacek/sandbox/sbt-launcher/minimal-scala/sbt/boot
scala> appConfiguration.eval.provider.scalaProvider.launcher.ivyHome
res1: java.io.File = /Users/jacek/sandbox/sbt-launcher/minimal-scala/ivy2
Run Code Online (Sandbox Code Playgroud)